home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / pyshared / python2.5 / libxml2.py < prev    next >
Text File  |  2009-10-08  |  340KB  |  9,179 lines

  1. import libxml2mod
  2. import types
  3. import sys
  4.  
  5. # The root of all libxml2 errors.
  6. class libxmlError(Exception): pass
  7.  
  8. #
  9. # id() is sometimes negative ...
  10. #
  11. def pos_id(o):
  12.     i = id(o)
  13.     if (i < 0):
  14.         return (sys.maxint - i)
  15.     return i
  16.  
  17. #
  18. # Errors raised by the wrappers when some tree handling failed.
  19. #
  20. class treeError(libxmlError):
  21.     def __init__(self, msg):
  22.         self.msg = msg
  23.     def __str__(self):
  24.         return self.msg
  25.  
  26. class parserError(libxmlError):
  27.     def __init__(self, msg):
  28.         self.msg = msg
  29.     def __str__(self):
  30.         return self.msg
  31.  
  32. class uriError(libxmlError):
  33.     def __init__(self, msg):
  34.         self.msg = msg
  35.     def __str__(self):
  36.         return self.msg
  37.  
  38. class xpathError(libxmlError):
  39.     def __init__(self, msg):
  40.         self.msg = msg
  41.     def __str__(self):
  42.         return self.msg
  43.  
  44. class ioWrapper:
  45.     def __init__(self, _obj):
  46.         self.__io = _obj
  47.         self._o = None
  48.  
  49.     def io_close(self):
  50.         if self.__io == None:
  51.             return(-1)
  52.         self.__io.close()
  53.         self.__io = None
  54.         return(0)
  55.  
  56.     def io_flush(self):
  57.         if self.__io == None:
  58.             return(-1)
  59.         self.__io.flush()
  60.         return(0)
  61.  
  62.     def io_read(self, len = -1):
  63.         if self.__io == None:
  64.             return(-1)
  65.         if len < 0:
  66.             return(self.__io.read())
  67.         return(self.__io.read(len))
  68.  
  69.     def io_write(self, str, len = -1):
  70.         if self.__io == None:
  71.             return(-1)
  72.         if len < 0:
  73.             return(self.__io.write(str))
  74.         return(self.__io.write(str, len))
  75.  
  76. class ioReadWrapper(ioWrapper):
  77.     def __init__(self, _obj, enc = ""):
  78.         ioWrapper.__init__(self, _obj)
  79.         self._o = libxml2mod.xmlCreateInputBuffer(self, enc)
  80.  
  81.     def __del__(self):
  82.         print "__del__"
  83.         self.io_close()
  84.         if self._o != None:
  85.             libxml2mod.xmlFreeParserInputBuffer(self._o)
  86.         self._o = None
  87.  
  88.     def close(self):
  89.         self.io_close()
  90.         if self._o != None:
  91.             libxml2mod.xmlFreeParserInputBuffer(self._o)
  92.         self._o = None
  93.  
  94. class ioWriteWrapper(ioWrapper):
  95.     def __init__(self, _obj, enc = ""):
  96. #        print "ioWriteWrapper.__init__", _obj
  97.         if type(_obj) == type(''):
  98.             print "write io from a string"
  99.             self.o = None
  100.         elif type(_obj) == types.InstanceType:
  101.             print "write io from instance of %s" % (_obj.__class__)
  102.             ioWrapper.__init__(self, _obj)
  103.             self._o = libxml2mod.xmlCreateOutputBuffer(self, enc)
  104.         else:
  105.             file = libxml2mod.outputBufferGetPythonFile(_obj)
  106.             if file != None:
  107.                 ioWrapper.__init__(self, file)
  108.             else:
  109.                 ioWrapper.__init__(self, _obj)
  110.             self._o = _obj
  111.  
  112.     def __del__(self):
  113. #        print "__del__"
  114.         self.io_close()
  115.         if self._o != None:
  116.             libxml2mod.xmlOutputBufferClose(self._o)
  117.         self._o = None
  118.  
  119.     def flush(self):
  120.         self.io_flush()
  121.         if self._o != None:
  122.             libxml2mod.xmlOutputBufferClose(self._o)
  123.         self._o = None
  124.  
  125.     def close(self):
  126.         self.io_flush()
  127.         if self._o != None:
  128.             libxml2mod.xmlOutputBufferClose(self._o)
  129.         self._o = None
  130.  
  131. #
  132. # Example of a class to handle SAX events
  133. #
  134. class SAXCallback:
  135.     """Base class for SAX handlers"""
  136.     def startDocument(self):
  137.         """called at the start of the document"""
  138.         pass
  139.  
  140.     def endDocument(self):
  141.         """called at the end of the document"""
  142.         pass
  143.  
  144.     def startElement(self, tag, attrs):
  145.         """called at the start of every element, tag is the name of
  146.            the element, attrs is a dictionary of the element's attributes"""
  147.         pass
  148.  
  149.     def endElement(self, tag):
  150.         """called at the start of every element, tag is the name of
  151.            the element"""
  152.         pass
  153.  
  154.     def characters(self, data):
  155.         """called when character data have been read, data is the string
  156.            containing the data, multiple consecutive characters() callback
  157.            are possible."""
  158.         pass
  159.  
  160.     def cdataBlock(self, data):
  161.         """called when CDATA section have been read, data is the string
  162.            containing the data, multiple consecutive cdataBlock() callback
  163.            are possible."""
  164.         pass
  165.  
  166.     def reference(self, name):
  167.         """called when an entity reference has been found"""
  168.         pass
  169.  
  170.     def ignorableWhitespace(self, data):
  171.         """called when potentially ignorable white spaces have been found"""
  172.         pass
  173.  
  174.     def processingInstruction(self, target, data):
  175.         """called when a PI has been found, target contains the PI name and
  176.            data is the associated data in the PI"""
  177.         pass
  178.  
  179.     def comment(self, content):
  180.         """called when a comment has been found, content contains the comment"""
  181.         pass
  182.  
  183.     def externalSubset(self, name, externalID, systemID):
  184.         """called when a DOCTYPE declaration has been found, name is the
  185.            DTD name and externalID, systemID are the DTD public and system
  186.            identifier for that DTd if available"""
  187.         pass
  188.  
  189.     def internalSubset(self, name, externalID, systemID):
  190.         """called when a DOCTYPE declaration has been found, name is the
  191.            DTD name and externalID, systemID are the DTD public and system
  192.            identifier for that DTD if available"""
  193.         pass
  194.  
  195.     def entityDecl(self, name, type, externalID, systemID, content):
  196.         """called when an ENTITY declaration has been found, name is the
  197.            entity name and externalID, systemID are the entity public and
  198.            system identifier for that entity if available, type indicates
  199.            the entity type, and content reports it's string content"""
  200.         pass
  201.  
  202.     def notationDecl(self, name, externalID, systemID):
  203.         """called when an NOTATION declaration has been found, name is the
  204.            notation name and externalID, systemID are the notation public and
  205.            system identifier for that notation if available"""
  206.         pass
  207.  
  208.     def attributeDecl(self, elem, name, type, defi, defaultValue, nameList):
  209.         """called when an ATTRIBUTE definition has been found"""
  210.         pass
  211.  
  212.     def elementDecl(self, name, type, content):
  213.         """called when an ELEMENT definition has been found"""
  214.         pass
  215.  
  216.     def entityDecl(self, name, publicId, systemID, notationName):
  217.         """called when an unparsed ENTITY declaration has been found,
  218.            name is the entity name and publicId,, systemID are the entity
  219.            public and system identifier for that entity if available,
  220.            and notationName indicate the associated NOTATION"""
  221.         pass
  222.  
  223.     def warning(self, msg):
  224.         #print msg
  225.         pass
  226.  
  227.     def error(self, msg):
  228.         raise parserError(msg)
  229.  
  230.     def fatalError(self, msg):
  231.         raise parserError(msg)
  232.  
  233. #
  234. # This class is the ancestor of all the Node classes. It provides
  235. # the basic functionalities shared by all nodes (and handle
  236. # gracefylly the exception), like name, navigation in the tree,
  237. # doc reference, content access and serializing to a string or URI
  238. #
  239. class xmlCore:
  240.     def __init__(self, _obj=None):
  241.         if _obj != None: 
  242.             self._o = _obj;
  243.             return
  244.         self._o = None
  245.  
  246.     def __eq__(self, other):
  247.         if other == None:
  248.             return False
  249.         ret = libxml2mod.compareNodesEqual(self._o, other._o)
  250.         if ret == None:
  251.             return False
  252.         return ret == True
  253.     def __ne__(self, other):
  254.         if other == None:
  255.             return True
  256.         ret = libxml2mod.compareNodesEqual(self._o, other._o)
  257.         return not ret
  258.     def __hash__(self):
  259.         ret = libxml2mod.nodeHash(self._o)
  260.         return ret
  261.  
  262.     def __str__(self):
  263.         return self.serialize()
  264.     def get_parent(self):
  265.         ret = libxml2mod.parent(self._o)
  266.         if ret == None:
  267.             return None
  268.         return xmlNode(_obj=ret)
  269.     def get_children(self):
  270.         ret = libxml2mod.children(self._o)
  271.         if ret == None:
  272.             return None
  273.         return xmlNode(_obj=ret)
  274.     def get_last(self):
  275.         ret = libxml2mod.last(self._o)
  276.         if ret == None:
  277.             return None
  278.         return xmlNode(_obj=ret)
  279.     def get_next(self):
  280.         ret = libxml2mod.next(self._o)
  281.         if ret == None:
  282.             return None
  283.         return xmlNode(_obj=ret)
  284.     def get_properties(self):
  285.         ret = libxml2mod.properties(self._o)
  286.         if ret == None:
  287.             return None
  288.         return xmlAttr(_obj=ret)
  289.     def get_prev(self):
  290.         ret = libxml2mod.prev(self._o)
  291.         if ret == None:
  292.             return None
  293.         return xmlNode(_obj=ret)
  294.     def get_content(self):
  295.         return libxml2mod.xmlNodeGetContent(self._o)
  296.     getContent = get_content  # why is this duplicate naming needed ?
  297.     def get_name(self):
  298.         return libxml2mod.name(self._o)
  299.     def get_type(self):
  300.         return libxml2mod.type(self._o)
  301.     def get_doc(self):
  302.         ret = libxml2mod.doc(self._o)
  303.         if ret == None:
  304.             if self.type in ["document_xml", "document_html"]:
  305.                 return xmlDoc(_obj=self._o)
  306.             else:
  307.                 return None
  308.         return xmlDoc(_obj=ret)
  309.     #
  310.     # Those are common attributes to nearly all type of nodes
  311.     # defined as python2 properties
  312.     # 
  313.     import sys
  314.     if float(sys.version[0:3]) < 2.2:
  315.         def __getattr__(self, attr):
  316.             if attr == "parent":
  317.                 ret = libxml2mod.parent(self._o)
  318.                 if ret == None:
  319.                     return None
  320.                 return xmlNode(_obj=ret)
  321.             elif attr == "properties":
  322.                 ret = libxml2mod.properties(self._o)
  323.                 if ret == None:
  324.                     return None
  325.                 return xmlAttr(_obj=ret)
  326.             elif attr == "children":
  327.                 ret = libxml2mod.children(self._o)
  328.                 if ret == None:
  329.                     return None
  330.                 return xmlNode(_obj=ret)
  331.             elif attr == "last":
  332.                 ret = libxml2mod.last(self._o)
  333.                 if ret == None:
  334.                     return None
  335.                 return xmlNode(_obj=ret)
  336.             elif attr == "next":
  337.                 ret = libxml2mod.next(self._o)
  338.                 if ret == None:
  339.                     return None
  340.                 return xmlNode(_obj=ret)
  341.             elif attr == "prev":
  342.                 ret = libxml2mod.prev(self._o)
  343.                 if ret == None:
  344.                     return None
  345.                 return xmlNode(_obj=ret)
  346.             elif attr == "content":
  347.                 return libxml2mod.xmlNodeGetContent(self._o)
  348.             elif attr == "name":
  349.                 return libxml2mod.name(self._o)
  350.             elif attr == "type":
  351.                 return libxml2mod.type(self._o)
  352.             elif attr == "doc":
  353.                 ret = libxml2mod.doc(self._o)
  354.                 if ret == None:
  355.                     if self.type == "document_xml" or self.type == "document_html":
  356.                         return xmlDoc(_obj=self._o)
  357.                     else:
  358.                         return None
  359.                 return xmlDoc(_obj=ret)
  360.             raise AttributeError,attr
  361.     else:
  362.         parent = property(get_parent, None, None, "Parent node")
  363.         children = property(get_children, None, None, "First child node")
  364.         last = property(get_last, None, None, "Last sibling node")
  365.         next = property(get_next, None, None, "Next sibling node")
  366.         prev = property(get_prev, None, None, "Previous sibling node")
  367.         properties = property(get_properties, None, None, "List of properies")
  368.         content = property(get_content, None, None, "Content of this node")
  369.         name = property(get_name, None, None, "Node name")
  370.         type = property(get_type, None, None, "Node type")
  371.         doc = property(get_doc, None, None, "The document this node belongs to")
  372.  
  373.     #
  374.     # Serialization routines, the optional arguments have the following
  375.     # meaning:
  376.     #     encoding: string to ask saving in a specific encoding
  377.     #     indent: if 1 the serializer is asked to indent the output
  378.     #
  379.     def serialize(self, encoding = None, format = 0):
  380.         return libxml2mod.serializeNode(self._o, encoding, format)
  381.     def saveTo(self, file, encoding = None, format = 0):
  382.         return libxml2mod.saveNodeTo(self._o, file, encoding, format)
  383.             
  384.     #
  385.     # Canonicalization routines:
  386.     #
  387.     #   nodes: the node set (tuple or list) to be included in the
  388.     #     canonized image or None if all document nodes should be
  389.     #     included.
  390.     #   exclusive: the exclusive flag (0 - non-exclusive
  391.     #     canonicalization; otherwise - exclusive canonicalization)
  392.     #   prefixes: the list of inclusive namespace prefixes (strings),
  393.     #     or None if there is no inclusive namespaces (only for
  394.     #     exclusive canonicalization, ignored otherwise)
  395.     #   with_comments: include comments in the result (!=0) or not
  396.     #     (==0)
  397.     def c14nMemory(self,
  398.                    nodes=None,
  399.                    exclusive=0,
  400.                    prefixes=None,
  401.                    with_comments=0):
  402.         if nodes:
  403.             nodes = map(lambda n: n._o, nodes)
  404.         return libxml2mod.xmlC14NDocDumpMemory(
  405.             self.get_doc()._o,
  406.             nodes,
  407.             exclusive != 0,
  408.             prefixes,
  409.             with_comments != 0)
  410.     def c14nSaveTo(self,
  411.                    file,
  412.                    nodes=None,
  413.                    exclusive=0,
  414.                    prefixes=None,
  415.                    with_comments=0):
  416.         if nodes:
  417.             nodes = map(lambda n: n._o, nodes)
  418.         return libxml2mod.xmlC14NDocSaveTo(
  419.             self.get_doc()._o,
  420.             nodes,
  421.             exclusive != 0,
  422.             prefixes,
  423.             with_comments != 0,
  424.             file)
  425.  
  426.     #
  427.     # Selecting nodes using XPath, a bit slow because the context
  428.     # is allocated/freed every time but convenient.
  429.     #
  430.     def xpathEval(self, expr):
  431.         doc = self.doc
  432.         if doc == None:
  433.             return None
  434.         ctxt = doc.xpathNewContext()
  435.         ctxt.setContextNode(self)
  436.         res = ctxt.xpathEval(expr)
  437.         ctxt.xpathFreeContext()
  438.         return res
  439.  
  440. #    #
  441. #    # Selecting nodes using XPath, faster because the context
  442. #    # is allocated just once per xmlDoc.
  443. #    #
  444. #    # Removed: DV memleaks c.f. #126735
  445. #    #
  446. #    def xpathEval2(self, expr):
  447. #        doc = self.doc
  448. #        if doc == None:
  449. #            return None
  450. #        try:
  451. #            doc._ctxt.setContextNode(self)
  452. #        except:
  453. #            doc._ctxt = doc.xpathNewContext()
  454. #            doc._ctxt.setContextNode(self)
  455. #        res = doc._ctxt.xpathEval(expr)
  456. #        return res
  457.     def xpathEval2(self, expr):
  458.         return self.xpathEval(expr)
  459.  
  460.     # Remove namespaces
  461.     def removeNsDef(self, href):
  462.         """
  463.         Remove a namespace definition from a node.  If href is None,
  464.         remove all of the ns definitions on that node.  The removed
  465.         namespaces are returned as a linked list.
  466.  
  467.         Note: If any child nodes referred to the removed namespaces,
  468.         they will be left with dangling links.  You should call
  469.         renconciliateNs() to fix those pointers.
  470.  
  471.         Note: This method does not free memory taken by the ns
  472.         definitions.  You will need to free it manually with the
  473.         freeNsList() method on the returns xmlNs object.
  474.         """
  475.  
  476.         ret = libxml2mod.xmlNodeRemoveNsDef(self._o, href)
  477.         if ret is None:return None
  478.         __tmp = xmlNs(_obj=ret)
  479.         return __tmp
  480.  
  481.     # support for python2 iterators
  482.     def walk_depth_first(self):
  483.         return xmlCoreDepthFirstItertor(self)
  484.     def walk_breadth_first(self):
  485.         return xmlCoreBreadthFirstItertor(self)
  486.     __iter__ = walk_depth_first
  487.  
  488.     def free(self):
  489.         try:
  490.             self.doc._ctxt.xpathFreeContext()
  491.         except:
  492.             pass
  493.         libxml2mod.xmlFreeDoc(self._o)
  494.  
  495.  
  496. #
  497. # implements the depth-first iterator for libxml2 DOM tree
  498. #
  499. class xmlCoreDepthFirstItertor:
  500.     def __init__(self, node):
  501.         self.node = node
  502.         self.parents = []
  503.     def __iter__(self):
  504.         return self
  505.     def next(self):
  506.         while 1:
  507.             if self.node:
  508.                 ret = self.node
  509.                 self.parents.append(self.node)
  510.                 self.node = self.node.children
  511.                 return ret
  512.             try:
  513.                 parent = self.parents.pop()
  514.             except IndexError:
  515.                 raise StopIteration
  516.             self.node = parent.next
  517.  
  518. #
  519. # implements the breadth-first iterator for libxml2 DOM tree
  520. #
  521. class xmlCoreBreadthFirstItertor:
  522.     def __init__(self, node):
  523.         self.node = node
  524.         self.parents = []
  525.     def __iter__(self):
  526.         return self
  527.     def next(self):
  528.         while 1:
  529.             if self.node:
  530.                 ret = self.node
  531.                 self.parents.append(self.node)
  532.                 self.node = self.node.next
  533.                 return ret
  534.             try:
  535.                 parent = self.parents.pop()
  536.             except IndexError:
  537.                 raise StopIteration
  538.             self.node = parent.children
  539.  
  540. #
  541. # converters to present a nicer view of the XPath returns
  542. #
  543. def nodeWrap(o):
  544.     # TODO try to cast to the most appropriate node class
  545.     name = libxml2mod.type(o)
  546.     if name == "element" or name == "text":
  547.         return xmlNode(_obj=o)
  548.     if name == "attribute":
  549.         return xmlAttr(_obj=o)
  550.     if name[0:8] == "document":
  551.         return xmlDoc(_obj=o)
  552.     if name == "namespace":
  553.         return xmlNs(_obj=o)
  554.     if name == "elem_decl":
  555.         return xmlElement(_obj=o)
  556.     if name == "attribute_decl":
  557.         return xmlAttribute(_obj=o)
  558.     if name == "entity_decl":
  559.         return xmlEntity(_obj=o)
  560.     if name == "dtd":
  561.         return xmlDtd(_obj=o)
  562.     return xmlNode(_obj=o)
  563.  
  564. def xpathObjectRet(o):
  565.     otype = type(o)
  566.     if otype == type([]):
  567.         ret = map(xpathObjectRet, o)
  568.         return ret
  569.     elif otype == type(()):
  570.         ret = map(xpathObjectRet, o)
  571.         return tuple(ret)
  572.     elif otype == type('') or otype == type(0) or otype == type(0.0):
  573.         return o
  574.     else:
  575.         return nodeWrap(o)
  576.  
  577. #
  578. # register an XPath function
  579. #
  580. def registerXPathFunction(ctxt, name, ns_uri, f):
  581.     ret = libxml2mod.xmlRegisterXPathFunction(ctxt, name, ns_uri, f)
  582.  
  583. #
  584. # For the xmlTextReader parser configuration
  585. #
  586. PARSER_LOADDTD=1
  587. PARSER_DEFAULTATTRS=2
  588. PARSER_VALIDATE=3
  589. PARSER_SUBST_ENTITIES=4
  590.  
  591. #
  592. # For the error callback severities
  593. #
  594. PARSER_SEVERITY_VALIDITY_WARNING=1
  595. PARSER_SEVERITY_VALIDITY_ERROR=2
  596. PARSER_SEVERITY_WARNING=3
  597. PARSER_SEVERITY_ERROR=4
  598.  
  599. #
  600. # register the libxml2 error handler
  601. #
  602. def registerErrorHandler(f, ctx):
  603.     """Register a Python written function to for error reporting.
  604.        The function is called back as f(ctx, error). """
  605.     import sys
  606.     if not sys.modules.has_key('libxslt'):
  607.         # normal behaviour when libxslt is not imported
  608.         ret = libxml2mod.xmlRegisterErrorHandler(f,ctx)
  609.     else:
  610.         # when libxslt is already imported, one must
  611.         # use libxst's error handler instead
  612.         import libxslt
  613.         ret = libxslt.registerErrorHandler(f,ctx)
  614.     return ret
  615.  
  616. class parserCtxtCore:
  617.  
  618.     def __init__(self, _obj=None):
  619.         if _obj != None: 
  620.             self._o = _obj;
  621.             return
  622.         self._o = None
  623.  
  624.     def __del__(self):
  625.         if self._o != None:
  626.             libxml2mod.xmlFreeParserCtxt(self._o)
  627.         self._o = None
  628.  
  629.     def setErrorHandler(self,f,arg):
  630.         """Register an error handler that will be called back as
  631.            f(arg,msg,severity,reserved).
  632.            
  633.            @reserved is currently always None."""
  634.         libxml2mod.xmlParserCtxtSetErrorHandler(self._o,f,arg)
  635.  
  636.     def getErrorHandler(self):
  637.         """Return (f,arg) as previously registered with setErrorHandler
  638.            or (None,None)."""
  639.         return libxml2mod.xmlParserCtxtGetErrorHandler(self._o)
  640.  
  641.     def addLocalCatalog(self, uri):
  642.         """Register a local catalog with the parser"""
  643.         return libxml2mod.addLocalCatalog(self._o, uri)
  644.     
  645.  
  646. class ValidCtxtCore:
  647.  
  648.     def __init__(self, *args, **kw):
  649.         pass
  650.  
  651.     def setValidityErrorHandler(self, err_func, warn_func, arg=None):
  652.         """
  653.         Register error and warning handlers for DTD validation.
  654.         These will be called back as f(msg,arg)
  655.         """
  656.         libxml2mod.xmlSetValidErrors(self._o, err_func, warn_func, arg)
  657.     
  658.  
  659. class SchemaValidCtxtCore:
  660.  
  661.     def __init__(self, *args, **kw):
  662.         pass
  663.  
  664.     def setValidityErrorHandler(self, err_func, warn_func, arg=None):
  665.         """
  666.         Register error and warning handlers for Schema validation.
  667.         These will be called back as f(msg,arg)
  668.         """
  669.         libxml2mod.xmlSchemaSetValidErrors(self._o, err_func, warn_func, arg)
  670.  
  671.  
  672. class relaxNgValidCtxtCore:
  673.  
  674.     def __init__(self, *args, **kw):
  675.         pass
  676.  
  677.     def setValidityErrorHandler(self, err_func, warn_func, arg=None):
  678.         """
  679.         Register error and warning handlers for RelaxNG validation.
  680.         These will be called back as f(msg,arg)
  681.         """
  682.         libxml2mod.xmlRelaxNGSetValidErrors(self._o, err_func, warn_func, arg)
  683.  
  684.     
  685. def _xmlTextReaderErrorFunc((f,arg),msg,severity,locator):
  686.     """Intermediate callback to wrap the locator"""
  687.     return f(arg,msg,severity,xmlTextReaderLocator(locator))
  688.  
  689. class xmlTextReaderCore:
  690.  
  691.     def __init__(self, _obj=None):
  692.         self.input = None
  693.         if _obj != None:self._o = _obj;return
  694.         self._o = None
  695.  
  696.     def __del__(self):
  697.         if self._o != None:
  698.             libxml2mod.xmlFreeTextReader(self._o)
  699.         self._o = None
  700.  
  701.     def SetErrorHandler(self,f,arg):
  702.         """Register an error handler that will be called back as
  703.            f(arg,msg,severity,locator)."""
  704.         if f is None:
  705.             libxml2mod.xmlTextReaderSetErrorHandler(\
  706.                 self._o,None,None)
  707.         else:
  708.             libxml2mod.xmlTextReaderSetErrorHandler(\
  709.                 self._o,_xmlTextReaderErrorFunc,(f,arg))
  710.  
  711.     def GetErrorHandler(self):
  712.         """Return (f,arg) as previously registered with setErrorHandler
  713.            or (None,None)."""
  714.         f,arg = libxml2mod.xmlTextReaderGetErrorHandler(self._o)
  715.         if f is None:
  716.             return None,None
  717.         else:
  718.             # assert f is _xmlTextReaderErrorFunc
  719.             return arg
  720.  
  721. #
  722. # The cleanup now goes though a wrappe in libxml.c
  723. #
  724. def cleanupParser():
  725.     libxml2mod.xmlPythonCleanupParser()
  726.  
  727. # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  728. #
  729. # Everything before this line comes from libxml.py 
  730. # Everything after this line is automatically generated
  731. #
  732. # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  733.  
  734. #
  735. # Functions from module HTMLparser
  736. #
  737.  
  738. def htmlCreateMemoryParserCtxt(buffer, size):
  739.     """Create a parser context for an HTML in-memory document. """
  740.     ret = libxml2mod.htmlCreateMemoryParserCtxt(buffer, size)
  741.     if ret is None:raise parserError('htmlCreateMemoryParserCtxt() failed')
  742.     return parserCtxt(_obj=ret)
  743.  
  744. def htmlHandleOmittedElem(val):
  745.     """Set and return the previous value for handling HTML omitted
  746.        tags. """
  747.     ret = libxml2mod.htmlHandleOmittedElem(val)
  748.     return ret
  749.  
  750. def htmlIsScriptAttribute(name):
  751.     """Check if an attribute is of content type Script """
  752.     ret = libxml2mod.htmlIsScriptAttribute(name)
  753.     return ret
  754.  
  755. def htmlNewParserCtxt():
  756.     """Allocate and initialize a new parser context. """
  757.     ret = libxml2mod.htmlNewParserCtxt()
  758.     if ret is None:raise parserError('htmlNewParserCtxt() failed')
  759.     return parserCtxt(_obj=ret)
  760.  
  761. def htmlParseDoc(cur, encoding):
  762.     """parse an HTML in-memory document and build a tree. """
  763.     ret = libxml2mod.htmlParseDoc(cur, encoding)
  764.     if ret is None:raise parserError('htmlParseDoc() failed')
  765.     return xmlDoc(_obj=ret)
  766.  
  767. def htmlParseFile(filename, encoding):
  768.     """parse an HTML file and build a tree. Automatic support for
  769.       ZLIB/Compress compressed document is provided by default if
  770.        found at compile-time. """
  771.     ret = libxml2mod.htmlParseFile(filename, encoding)
  772.     if ret is None:raise parserError('htmlParseFile() failed')
  773.     return xmlDoc(_obj=ret)
  774.  
  775. def htmlReadDoc(cur, URL, encoding, options):
  776.     """parse an XML in-memory document and build a tree. """
  777.     ret = libxml2mod.htmlReadDoc(cur, URL, encoding, options)
  778.     if ret is None:raise treeError('htmlReadDoc() failed')
  779.     return xmlDoc(_obj=ret)
  780.  
  781. def htmlReadFd(fd, URL, encoding, options):
  782.     """parse an XML from a file descriptor and build a tree. """
  783.     ret = libxml2mod.htmlReadFd(fd, URL, encoding, options)
  784.     if ret is None:raise treeError('htmlReadFd() failed')
  785.     return xmlDoc(_obj=ret)
  786.  
  787. def htmlReadFile(filename, encoding, options):
  788.     """parse an XML file from the filesystem or the network. """
  789.     ret = libxml2mod.htmlReadFile(filename, encoding, options)
  790.     if ret is None:raise treeError('htmlReadFile() failed')
  791.     return xmlDoc(_obj=ret)
  792.  
  793. def htmlReadMemory(buffer, size, URL, encoding, options):
  794.     """parse an XML in-memory document and build a tree. """
  795.     ret = libxml2mod.htmlReadMemory(buffer, size, URL, encoding, options)
  796.     if ret is None:raise treeError('htmlReadMemory() failed')
  797.     return xmlDoc(_obj=ret)
  798.  
  799. #
  800. # Functions from module HTMLtree
  801. #
  802.  
  803. def htmlIsBooleanAttr(name):
  804.     """Determine if a given attribute is a boolean attribute. """
  805.     ret = libxml2mod.htmlIsBooleanAttr(name)
  806.     return ret
  807.  
  808. def htmlNewDoc(URI, ExternalID):
  809.     """Creates a new HTML document """
  810.     ret = libxml2mod.htmlNewDoc(URI, ExternalID)
  811.     if ret is None:raise treeError('htmlNewDoc() failed')
  812.     return xmlDoc(_obj=ret)
  813.  
  814. def htmlNewDocNoDtD(URI, ExternalID):
  815.     """Creates a new HTML document without a DTD node if @URI and
  816.        @ExternalID are None """
  817.     ret = libxml2mod.htmlNewDocNoDtD(URI, ExternalID)
  818.     if ret is None:raise treeError('htmlNewDocNoDtD() failed')
  819.     return xmlDoc(_obj=ret)
  820.  
  821. #
  822. # Functions from module SAX2
  823. #
  824.  
  825. def SAXDefaultVersion(version):
  826.     """Set the default version of SAX used globally by the
  827.       library. By default, during initialization the default is
  828.       set to 2. Note that it is generally a better coding style
  829.       to use xmlSAXVersion() to set up the version explicitly for
  830.        a given parsing context. """
  831.     ret = libxml2mod.xmlSAXDefaultVersion(version)
  832.     return ret
  833.  
  834. def defaultSAXHandlerInit():
  835.     """Initialize the default SAX2 handler """
  836.     libxml2mod.xmlDefaultSAXHandlerInit()
  837.  
  838. def docbDefaultSAXHandlerInit():
  839.     """Initialize the default SAX handler """
  840.     libxml2mod.docbDefaultSAXHandlerInit()
  841.  
  842. def htmlDefaultSAXHandlerInit():
  843.     """Initialize the default SAX handler """
  844.     libxml2mod.htmlDefaultSAXHandlerInit()
  845.  
  846. #
  847. # Functions from module catalog
  848. #
  849.  
  850. def catalogAdd(type, orig, replace):
  851.     """Add an entry in the catalog, it may overwrite existing but
  852.       different entries. If called before any other catalog
  853.       routine, allows to override the default shared catalog put
  854.        in place by xmlInitializeCatalog(); """
  855.     ret = libxml2mod.xmlCatalogAdd(type, orig, replace)
  856.     return ret
  857.  
  858. def catalogCleanup():
  859.     """Free up all the memory associated with catalogs """
  860.     libxml2mod.xmlCatalogCleanup()
  861.  
  862. def catalogConvert():
  863.     """Convert all the SGML catalog entries as XML ones """
  864.     ret = libxml2mod.xmlCatalogConvert()
  865.     return ret
  866.  
  867. def catalogDump(out):
  868.     """Dump all the global catalog content to the given file. """
  869.     libxml2mod.xmlCatalogDump(out)
  870.  
  871. def catalogGetPublic(pubID):
  872.     """Try to lookup the catalog reference associated to a public
  873.        ID DEPRECATED, use xmlCatalogResolvePublic() """
  874.     ret = libxml2mod.xmlCatalogGetPublic(pubID)
  875.     return ret
  876.  
  877. def catalogGetSystem(sysID):
  878.     """Try to lookup the catalog reference associated to a system
  879.        ID DEPRECATED, use xmlCatalogResolveSystem() """
  880.     ret = libxml2mod.xmlCatalogGetSystem(sysID)
  881.     return ret
  882.  
  883. def catalogRemove(value):
  884.     """Remove an entry from the catalog """
  885.     ret = libxml2mod.xmlCatalogRemove(value)
  886.     return ret
  887.  
  888. def catalogResolve(pubID, sysID):
  889.     """Do a complete resolution lookup of an External Identifier """
  890.     ret = libxml2mod.xmlCatalogResolve(pubID, sysID)
  891.     return ret
  892.  
  893. def catalogResolvePublic(pubID):
  894.     """Try to lookup the catalog reference associated to a public
  895.        ID """
  896.     ret = libxml2mod.xmlCatalogResolvePublic(pubID)
  897.     return ret
  898.  
  899. def catalogResolveSystem(sysID):
  900.     """Try to lookup the catalog resource for a system ID """
  901.     ret = libxml2mod.xmlCatalogResolveSystem(sysID)
  902.     return ret
  903.  
  904. def catalogResolveURI(URI):
  905.     """Do a complete resolution lookup of an URI """
  906.     ret = libxml2mod.xmlCatalogResolveURI(URI)
  907.     return ret
  908.  
  909. def catalogSetDebug(level):
  910.     """Used to set the debug level for catalog operation, 0
  911.        disable debugging, 1 enable it """
  912.     ret = libxml2mod.xmlCatalogSetDebug(level)
  913.     return ret
  914.  
  915. def initializeCatalog():
  916.     """Do the catalog initialization. this function is not thread
  917.       safe, catalog initialization should preferably be done once
  918.        at startup """
  919.     libxml2mod.xmlInitializeCatalog()
  920.  
  921. def loadACatalog(filename):
  922.     """Load the catalog and build the associated data structures.
  923.       This can be either an XML Catalog or an SGML Catalog It
  924.       will recurse in SGML CATALOG entries. On the other hand XML
  925.        Catalogs are not handled recursively. """
  926.     ret = libxml2mod.xmlLoadACatalog(filename)
  927.     if ret is None:raise treeError('xmlLoadACatalog() failed')
  928.     return catalog(_obj=ret)
  929.  
  930. def loadCatalog(filename):
  931.     """Load the catalog and makes its definitions effective for
  932.       the default external entity loader. It will recurse in SGML
  933.       CATALOG entries. this function is not thread safe, catalog
  934.        initialization should preferably be done once at startup """
  935.     ret = libxml2mod.xmlLoadCatalog(filename)
  936.     return ret
  937.  
  938. def loadCatalogs(pathss):
  939.     """Load the catalogs and makes their definitions effective for
  940.       the default external entity loader. this function is not
  941.       thread safe, catalog initialization should preferably be
  942.        done once at startup """
  943.     libxml2mod.xmlLoadCatalogs(pathss)
  944.  
  945. def loadSGMLSuperCatalog(filename):
  946.     """Load an SGML super catalog. It won't expand CATALOG or
  947.       DELEGATE references. This is only needed for manipulating
  948.       SGML Super Catalogs like adding and removing CATALOG or
  949.        DELEGATE entries. """
  950.     ret = libxml2mod.xmlLoadSGMLSuperCatalog(filename)
  951.     if ret is None:raise treeError('xmlLoadSGMLSuperCatalog() failed')
  952.     return catalog(_obj=ret)
  953.  
  954. def newCatalog(sgml):
  955.     """create a new Catalog. """
  956.     ret = libxml2mod.xmlNewCatalog(sgml)
  957.     if ret is None:raise treeError('xmlNewCatalog() failed')
  958.     return catalog(_obj=ret)
  959.  
  960. def parseCatalogFile(filename):
  961.     """parse an XML file and build a tree. It's like
  962.        xmlParseFile() except it bypass all catalog lookups. """
  963.     ret = libxml2mod.xmlParseCatalogFile(filename)
  964.     if ret is None:raise parserError('xmlParseCatalogFile() failed')
  965.     return xmlDoc(_obj=ret)
  966.  
  967. #
  968. # Functions from module chvalid
  969. #
  970.  
  971. def isBaseChar(ch):
  972.     """This function is DEPRECATED. Use xmlIsBaseChar_ch or
  973.        xmlIsBaseCharQ instead """
  974.     ret = libxml2mod.xmlIsBaseChar(ch)
  975.     return ret
  976.  
  977. def isBlank(ch):
  978.     """This function is DEPRECATED. Use xmlIsBlank_ch or
  979.        xmlIsBlankQ instead """
  980.     ret = libxml2mod.xmlIsBlank(ch)
  981.     return ret
  982.  
  983. def isChar(ch):
  984.     """This function is DEPRECATED. Use xmlIsChar_ch or xmlIsCharQ
  985.        instead """
  986.     ret = libxml2mod.xmlIsChar(ch)
  987.     return ret
  988.  
  989. def isCombining(ch):
  990.     """This function is DEPRECATED. Use xmlIsCombiningQ instead """
  991.     ret = libxml2mod.xmlIsCombining(ch)
  992.     return ret
  993.  
  994. def isDigit(ch):
  995.     """This function is DEPRECATED. Use xmlIsDigit_ch or
  996.        xmlIsDigitQ instead """
  997.     ret = libxml2mod.xmlIsDigit(ch)
  998.     return ret
  999.  
  1000. def isExtender(ch):
  1001.     """This function is DEPRECATED. Use xmlIsExtender_ch or
  1002.        xmlIsExtenderQ instead """
  1003.     ret = libxml2mod.xmlIsExtender(ch)
  1004.     return ret
  1005.  
  1006. def isIdeographic(ch):
  1007.     """This function is DEPRECATED. Use xmlIsIdeographicQ instead """
  1008.     ret = libxml2mod.xmlIsIdeographic(ch)
  1009.     return ret
  1010.  
  1011. def isPubidChar(ch):
  1012.     """This function is DEPRECATED. Use xmlIsPubidChar_ch or
  1013.        xmlIsPubidCharQ instead """
  1014.     ret = libxml2mod.xmlIsPubidChar(ch)
  1015.     return ret
  1016.  
  1017. #
  1018. # Functions from module debugXML
  1019. #
  1020.  
  1021. def boolToText(boolval):
  1022.     """Convenient way to turn bool into text """
  1023.     ret = libxml2mod.xmlBoolToText(boolval)
  1024.     return ret
  1025.  
  1026. def debugDumpString(output, str):
  1027.     """Dumps informations about the string, shorten it if necessary """
  1028.     libxml2mod.xmlDebugDumpString(output, str)
  1029.  
  1030. def shellPrintXPathError(errorType, arg):
  1031.     """Print the xpath error to libxml default error channel """
  1032.     libxml2mod.xmlShellPrintXPathError(errorType, arg)
  1033.  
  1034. #
  1035. # Functions from module dict
  1036. #
  1037.  
  1038. def dictCleanup():
  1039.     """Free the dictionary mutex. """
  1040.     libxml2mod.xmlDictCleanup()
  1041.  
  1042. #
  1043. # Functions from module encoding
  1044. #
  1045.  
  1046. def addEncodingAlias(name, alias):
  1047.     """Registers an alias @alias for an encoding named @name.
  1048.        Existing alias will be overwritten. """
  1049.     ret = libxml2mod.xmlAddEncodingAlias(name, alias)
  1050.     return ret
  1051.  
  1052. def cleanupCharEncodingHandlers():
  1053.     """Cleanup the memory allocated for the char encoding support,
  1054.        it unregisters all the encoding handlers and the aliases. """
  1055.     libxml2mod.xmlCleanupCharEncodingHandlers()
  1056.  
  1057. def cleanupEncodingAliases():
  1058.     """Unregisters all aliases """
  1059.     libxml2mod.xmlCleanupEncodingAliases()
  1060.  
  1061. def delEncodingAlias(alias):
  1062.     """Unregisters an encoding alias @alias """
  1063.     ret = libxml2mod.xmlDelEncodingAlias(alias)
  1064.     return ret
  1065.  
  1066. def encodingAlias(alias):
  1067.     """Lookup an encoding name for the given alias. """
  1068.     ret = libxml2mod.xmlGetEncodingAlias(alias)
  1069.     return ret
  1070.  
  1071. def initCharEncodingHandlers():
  1072.     """Initialize the char encoding support, it registers the
  1073.       default encoding supported. NOTE: while public, this
  1074.       function usually doesn't need to be called in normal
  1075.        processing. """
  1076.     libxml2mod.xmlInitCharEncodingHandlers()
  1077.  
  1078. #
  1079. # Functions from module entities
  1080. #
  1081.  
  1082. def cleanupPredefinedEntities():
  1083.     """Cleanup up the predefined entities table. Deprecated call """
  1084.     libxml2mod.xmlCleanupPredefinedEntities()
  1085.  
  1086. def initializePredefinedEntities():
  1087.     """Set up the predefined entities. Deprecated call """
  1088.     libxml2mod.xmlInitializePredefinedEntities()
  1089.  
  1090. def predefinedEntity(name):
  1091.     """Check whether this name is an predefined entity. """
  1092.     ret = libxml2mod.xmlGetPredefinedEntity(name)
  1093.     if ret is None:raise treeError('xmlGetPredefinedEntity() failed')
  1094.     return xmlEntity(_obj=ret)
  1095.  
  1096. #
  1097. # Functions from module globals
  1098. #
  1099.  
  1100. def cleanupGlobals():
  1101.     """Additional cleanup for multi-threading """
  1102.     libxml2mod.xmlCleanupGlobals()
  1103.  
  1104. def initGlobals():
  1105.     """Additional initialisation for multi-threading """
  1106.     libxml2mod.xmlInitGlobals()
  1107.  
  1108. def thrDefDefaultBufferSize(v):
  1109.     ret = libxml2mod.xmlThrDefDefaultBufferSize(v)
  1110.     return ret
  1111.  
  1112. def thrDefDoValidityCheckingDefaultValue(v):
  1113.     ret = libxml2mod.xmlThrDefDoValidityCheckingDefaultValue(v)
  1114.     return ret
  1115.  
  1116. def thrDefGetWarningsDefaultValue(v):
  1117.     ret = libxml2mod.xmlThrDefGetWarningsDefaultValue(v)
  1118.     return ret
  1119.  
  1120. def thrDefIndentTreeOutput(v):
  1121.     ret = libxml2mod.xmlThrDefIndentTreeOutput(v)
  1122.     return ret
  1123.  
  1124. def thrDefKeepBlanksDefaultValue(v):
  1125.     ret = libxml2mod.xmlThrDefKeepBlanksDefaultValue(v)
  1126.     return ret
  1127.  
  1128. def thrDefLineNumbersDefaultValue(v):
  1129.     ret = libxml2mod.xmlThrDefLineNumbersDefaultValue(v)
  1130.     return ret
  1131.  
  1132. def thrDefLoadExtDtdDefaultValue(v):
  1133.     ret = libxml2mod.xmlThrDefLoadExtDtdDefaultValue(v)
  1134.     return ret
  1135.  
  1136. def thrDefParserDebugEntities(v):
  1137.     ret = libxml2mod.xmlThrDefParserDebugEntities(v)
  1138.     return ret
  1139.  
  1140. def thrDefPedanticParserDefaultValue(v):
  1141.     ret = libxml2mod.xmlThrDefPedanticParserDefaultValue(v)
  1142.     return ret
  1143.  
  1144. def thrDefSaveNoEmptyTags(v):
  1145.     ret = libxml2mod.xmlThrDefSaveNoEmptyTags(v)
  1146.     return ret
  1147.  
  1148. def thrDefSubstituteEntitiesDefaultValue(v):
  1149.     ret = libxml2mod.xmlThrDefSubstituteEntitiesDefaultValue(v)
  1150.     return ret
  1151.  
  1152. def thrDefTreeIndentString(v):
  1153.     ret = libxml2mod.xmlThrDefTreeIndentString(v)
  1154.     return ret
  1155.  
  1156. #
  1157. # Functions from module nanoftp
  1158. #
  1159.  
  1160. def nanoFTPCleanup():
  1161.     """Cleanup the FTP protocol layer. This cleanup proxy
  1162.        informations. """
  1163.     libxml2mod.xmlNanoFTPCleanup()
  1164.  
  1165. def nanoFTPInit():
  1166.     """Initialize the FTP protocol layer. Currently it just checks
  1167.        for proxy informations, and get the hostname """
  1168.     libxml2mod.xmlNanoFTPInit()
  1169.  
  1170. def nanoFTPProxy(host, port, user, passwd, type):
  1171.     """Setup the FTP proxy informations. This can also be done by
  1172.       using ftp_proxy ftp_proxy_user and ftp_proxy_password
  1173.        environment variables. """
  1174.     libxml2mod.xmlNanoFTPProxy(host, port, user, passwd, type)
  1175.  
  1176. def nanoFTPScanProxy(URL):
  1177.     """(Re)Initialize the FTP Proxy context by parsing the URL and
  1178.       finding the protocol host port it indicates. Should be like
  1179.       ftp://myproxy/ or ftp://myproxy:3128/ A None URL cleans up
  1180.        proxy informations. """
  1181.     libxml2mod.xmlNanoFTPScanProxy(URL)
  1182.  
  1183. #
  1184. # Functions from module nanohttp
  1185. #
  1186.  
  1187. def nanoHTTPCleanup():
  1188.     """Cleanup the HTTP protocol layer. """
  1189.     libxml2mod.xmlNanoHTTPCleanup()
  1190.  
  1191. def nanoHTTPInit():
  1192.     """Initialize the HTTP protocol layer. Currently it just
  1193.        checks for proxy informations """
  1194.     libxml2mod.xmlNanoHTTPInit()
  1195.  
  1196. def nanoHTTPScanProxy(URL):
  1197.     """(Re)Initialize the HTTP Proxy context by parsing the URL
  1198.       and finding the protocol host port it indicates. Should be
  1199.       like http://myproxy/ or http://myproxy:3128/ A None URL
  1200.        cleans up proxy informations. """
  1201.     libxml2mod.xmlNanoHTTPScanProxy(URL)
  1202.  
  1203. #
  1204. # Functions from module parser
  1205. #
  1206.  
  1207. def createDocParserCtxt(cur):
  1208.     """Creates a parser context for an XML in-memory document. """
  1209.     ret = libxml2mod.xmlCreateDocParserCtxt(cur)
  1210.     if ret is None:raise parserError('xmlCreateDocParserCtxt() failed')
  1211.     return parserCtxt(_obj=ret)
  1212.  
  1213. def initParser():
  1214.     """Initialization function for the XML parser. This is not
  1215.       reentrant. Call once before processing in case of use in
  1216.        multithreaded programs. """
  1217.     libxml2mod.xmlInitParser()
  1218.  
  1219. def keepBlanksDefault(val):
  1220.     """Set and return the previous value for default blanks text
  1221.       nodes support. The 1.x version of the parser used an
  1222.       heuristic to try to detect ignorable white spaces. As a
  1223.       result the SAX callback was generating
  1224.       xmlSAX2IgnorableWhitespace() callbacks instead of
  1225.       characters() one, and when using the DOM output text nodes
  1226.       containing those blanks were not generated. The 2.x and
  1227.       later version will switch to the XML standard way and
  1228.       ignorableWhitespace() are only generated when running the
  1229.       parser in validating mode and when the current element
  1230.       doesn't allow CDATA or mixed content. This function is
  1231.       provided as a way to force the standard behavior on 1.X
  1232.       libs and to switch back to the old mode for compatibility
  1233.       when running 1.X client code on 2.X . Upgrade of 1.X code
  1234.       should be done by using xmlIsBlankNode() commodity function
  1235.       to detect the "empty" nodes generated. This value also
  1236.       affect autogeneration of indentation when saving code if
  1237.        blanks sections are kept, indentation is not generated. """
  1238.     ret = libxml2mod.xmlKeepBlanksDefault(val)
  1239.     return ret
  1240.  
  1241. def lineNumbersDefault(val):
  1242.     """Set and return the previous value for enabling line numbers
  1243.       in elements contents. This may break on old application and
  1244.        is turned off by default. """
  1245.     ret = libxml2mod.xmlLineNumbersDefault(val)
  1246.     return ret
  1247.  
  1248. def newParserCtxt():
  1249.     """Allocate and initialize a new parser context. """
  1250.     ret = libxml2mod.xmlNewParserCtxt()
  1251.     if ret is None:raise parserError('xmlNewParserCtxt() failed')
  1252.     return parserCtxt(_obj=ret)
  1253.  
  1254. def parseDTD(ExternalID, SystemID):
  1255.     """Load and parse an external subset. """
  1256.     ret = libxml2mod.xmlParseDTD(ExternalID, SystemID)
  1257.     if ret is None:raise parserError('xmlParseDTD() failed')
  1258.     return xmlDtd(_obj=ret)
  1259.  
  1260. def parseDoc(cur):
  1261.     """parse an XML in-memory document and build a tree. """
  1262.     ret = libxml2mod.xmlParseDoc(cur)
  1263.     if ret is None:raise parserError('xmlParseDoc() failed')
  1264.     return xmlDoc(_obj=ret)
  1265.  
  1266. def parseEntity(filename):
  1267.     """parse an XML external entity out of context and build a
  1268.       tree.  [78] extParsedEnt ::= TextDecl? content  This
  1269.        correspond to a "Well Balanced" chunk """
  1270.     ret = libxml2mod.xmlParseEntity(filename)
  1271.     if ret is None:raise parserError('xmlParseEntity() failed')
  1272.     return xmlDoc(_obj=ret)
  1273.  
  1274. def parseFile(filename):
  1275.     """parse an XML file and build a tree. Automatic support for
  1276.       ZLIB/Compress compressed document is provided by default if
  1277.        found at compile-time. """
  1278.     ret = libxml2mod.xmlParseFile(filename)
  1279.     if ret is None:raise parserError('xmlParseFile() failed')
  1280.     return xmlDoc(_obj=ret)
  1281.  
  1282. def parseMemory(buffer, size):
  1283.     """parse an XML in-memory block and build a tree. """
  1284.     ret = libxml2mod.xmlParseMemory(buffer, size)
  1285.     if ret is None:raise parserError('xmlParseMemory() failed')
  1286.     return xmlDoc(_obj=ret)
  1287.  
  1288. def pedanticParserDefault(val):
  1289.     """Set and return the previous value for enabling pedantic
  1290.        warnings. """
  1291.     ret = libxml2mod.xmlPedanticParserDefault(val)
  1292.     return ret
  1293.  
  1294. def readDoc(cur, URL, encoding, options):
  1295.     """parse an XML in-memory document and build a tree. """
  1296.     ret = libxml2mod.xmlReadDoc(cur, URL, encoding, options)
  1297.     if ret is None:raise treeError('xmlReadDoc() failed')
  1298.     return xmlDoc(_obj=ret)
  1299.  
  1300. def readFd(fd, URL, encoding, options):
  1301.     """parse an XML from a file descriptor and build a tree. NOTE
  1302.       that the file descriptor will not be closed when the reader
  1303.        is closed or reset. """
  1304.     ret = libxml2mod.xmlReadFd(fd, URL, encoding, options)
  1305.     if ret is None:raise treeError('xmlReadFd() failed')
  1306.     return xmlDoc(_obj=ret)
  1307.  
  1308. def readFile(filename, encoding, options):
  1309.     """parse an XML file from the filesystem or the network. """
  1310.     ret = libxml2mod.xmlReadFile(filename, encoding, options)
  1311.     if ret is None:raise treeError('xmlReadFile() failed')
  1312.     return xmlDoc(_obj=ret)
  1313.  
  1314. def readMemory(buffer, size, URL, encoding, options):
  1315.     """parse an XML in-memory document and build a tree. """
  1316.     ret = libxml2mod.xmlReadMemory(buffer, size, URL, encoding, options)
  1317.     if ret is None:raise treeError('xmlReadMemory() failed')
  1318.     return xmlDoc(_obj=ret)
  1319.  
  1320. def recoverDoc(cur):
  1321.     """parse an XML in-memory document and build a tree. In the
  1322.       case the document is not Well Formed, a attempt to build a
  1323.        tree is tried anyway """
  1324.     ret = libxml2mod.xmlRecoverDoc(cur)
  1325.     if ret is None:raise treeError('xmlRecoverDoc() failed')
  1326.     return xmlDoc(_obj=ret)
  1327.  
  1328. def recoverFile(filename):
  1329.     """parse an XML file and build a tree. Automatic support for
  1330.       ZLIB/Compress compressed document is provided by default if
  1331.       found at compile-time. In the case the document is not Well
  1332.        Formed, it attempts to build a tree anyway """
  1333.     ret = libxml2mod.xmlRecoverFile(filename)
  1334.     if ret is None:raise treeError('xmlRecoverFile() failed')
  1335.     return xmlDoc(_obj=ret)
  1336.  
  1337. def recoverMemory(buffer, size):
  1338.     """parse an XML in-memory block and build a tree. In the case
  1339.       the document is not Well Formed, an attempt to build a tree
  1340.        is tried anyway """
  1341.     ret = libxml2mod.xmlRecoverMemory(buffer, size)
  1342.     if ret is None:raise treeError('xmlRecoverMemory() failed')
  1343.     return xmlDoc(_obj=ret)
  1344.  
  1345. def substituteEntitiesDefault(val):
  1346.     """Set and return the previous value for default entity
  1347.       support. Initially the parser always keep entity references
  1348.       instead of substituting entity values in the output. This
  1349.       function has to be used to change the default parser
  1350.       behavior SAX::substituteEntities() has to be used for
  1351.        changing that on a file by file basis. """
  1352.     ret = libxml2mod.xmlSubstituteEntitiesDefault(val)
  1353.     return ret
  1354.  
  1355. #
  1356. # Functions from module parserInternals
  1357. #
  1358.  
  1359. def checkLanguageID(lang):
  1360.     """Checks that the value conforms to the LanguageID
  1361.       production:  NOTE: this is somewhat deprecated, those
  1362.       productions were removed from the XML Second edition.  [33]
  1363.       LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::=
  1364.       ISO639Code |  IanaCode |  UserCode [35] ISO639Code ::=
  1365.       ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' |
  1366.       'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-'
  1367.        ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ """
  1368.     ret = libxml2mod.xmlCheckLanguageID(lang)
  1369.     return ret
  1370.  
  1371. def copyChar(len, out, val):
  1372.     """append the char value in the array """
  1373.     ret = libxml2mod.xmlCopyChar(len, out, val)
  1374.     return ret
  1375.  
  1376. def copyCharMultiByte(out, val):
  1377.     """append the char value in the array """
  1378.     ret = libxml2mod.xmlCopyCharMultiByte(out, val)
  1379.     return ret
  1380.  
  1381. def createEntityParserCtxt(URL, ID, base):
  1382.     """Create a parser context for an external entity Automatic
  1383.       support for ZLIB/Compress compressed document is provided
  1384.        by default if found at compile-time. """
  1385.     ret = libxml2mod.xmlCreateEntityParserCtxt(URL, ID, base)
  1386.     if ret is None:raise parserError('xmlCreateEntityParserCtxt() failed')
  1387.     return parserCtxt(_obj=ret)
  1388.  
  1389. def createFileParserCtxt(filename):
  1390.     """Create a parser context for a file content. Automatic
  1391.       support for ZLIB/Compress compressed document is provided
  1392.        by default if found at compile-time. """
  1393.     ret = libxml2mod.xmlCreateFileParserCtxt(filename)
  1394.     if ret is None:raise parserError('xmlCreateFileParserCtxt() failed')
  1395.     return parserCtxt(_obj=ret)
  1396.  
  1397. def createMemoryParserCtxt(buffer, size):
  1398.     """Create a parser context for an XML in-memory document. """
  1399.     ret = libxml2mod.xmlCreateMemoryParserCtxt(buffer, size)
  1400.     if ret is None:raise parserError('xmlCreateMemoryParserCtxt() failed')
  1401.     return parserCtxt(_obj=ret)
  1402.  
  1403. def createURLParserCtxt(filename, options):
  1404.     """Create a parser context for a file or URL content.
  1405.       Automatic support for ZLIB/Compress compressed document is
  1406.       provided by default if found at compile-time and for file
  1407.        accesses """
  1408.     ret = libxml2mod.xmlCreateURLParserCtxt(filename, options)
  1409.     if ret is None:raise parserError('xmlCreateURLParserCtxt() failed')
  1410.     return parserCtxt(_obj=ret)
  1411.  
  1412. def htmlCreateFileParserCtxt(filename, encoding):
  1413.     """Create a parser context for a file content. Automatic
  1414.       support for ZLIB/Compress compressed document is provided
  1415.        by default if found at compile-time. """
  1416.     ret = libxml2mod.htmlCreateFileParserCtxt(filename, encoding)
  1417.     if ret is None:raise parserError('htmlCreateFileParserCtxt() failed')
  1418.     return parserCtxt(_obj=ret)
  1419.  
  1420. def htmlInitAutoClose():
  1421.     """Initialize the htmlStartCloseIndex for fast lookup of
  1422.       closing tags names. This is not reentrant. Call
  1423.       xmlInitParser() once before processing in case of use in
  1424.        multithreaded programs. """
  1425.     libxml2mod.htmlInitAutoClose()
  1426.  
  1427. def isLetter(c):
  1428.     """Check whether the character is allowed by the production
  1429.        [84] Letter ::= BaseChar | Ideographic """
  1430.     ret = libxml2mod.xmlIsLetter(c)
  1431.     return ret
  1432.  
  1433. def namePop(ctxt):
  1434.     """Pops the top element name from the name stack """
  1435.     if ctxt is None: ctxt__o = None
  1436.     else: ctxt__o = ctxt._o
  1437.     ret = libxml2mod.namePop(ctxt__o)
  1438.     return ret
  1439.  
  1440. def namePush(ctxt, value):
  1441.     """Pushes a new element name on top of the name stack """
  1442.     if ctxt is None: ctxt__o = None
  1443.     else: ctxt__o = ctxt._o
  1444.     ret = libxml2mod.namePush(ctxt__o, value)
  1445.     return ret
  1446.  
  1447. def nodePop(ctxt):
  1448.     """Pops the top element node from the node stack """
  1449.     if ctxt is None: ctxt__o = None
  1450.     else: ctxt__o = ctxt._o
  1451.     ret = libxml2mod.nodePop(ctxt__o)
  1452.     if ret is None:raise treeError('nodePop() failed')
  1453.     return xmlNode(_obj=ret)
  1454.  
  1455. def nodePush(ctxt, value):
  1456.     """Pushes a new element node on top of the node stack """
  1457.     if ctxt is None: ctxt__o = None
  1458.     else: ctxt__o = ctxt._o
  1459.     if value is None: value__o = None
  1460.     else: value__o = value._o
  1461.     ret = libxml2mod.nodePush(ctxt__o, value__o)
  1462.     return ret
  1463.  
  1464. #
  1465. # Functions from module python
  1466. #
  1467.  
  1468. def SAXParseFile(SAX, URI, recover):
  1469.     """Interface to parse an XML file or resource pointed by an
  1470.        URI to build an event flow to the SAX object """
  1471.     libxml2mod.xmlSAXParseFile(SAX, URI, recover)
  1472.  
  1473. def createInputBuffer(file, encoding):
  1474.     """Create a libxml2 input buffer from a Python file """
  1475.     ret = libxml2mod.xmlCreateInputBuffer(file, encoding)
  1476.     if ret is None:raise treeError('xmlCreateInputBuffer() failed')
  1477.     return inputBuffer(_obj=ret)
  1478.  
  1479. def createOutputBuffer(file, encoding):
  1480.     """Create a libxml2 output buffer from a Python file """
  1481.     ret = libxml2mod.xmlCreateOutputBuffer(file, encoding)
  1482.     if ret is None:raise treeError('xmlCreateOutputBuffer() failed')
  1483.     return outputBuffer(_obj=ret)
  1484.  
  1485. def createPushParser(SAX, chunk, size, URI):
  1486.     """Create a progressive XML parser context to build either an
  1487.       event flow if the SAX object is not None, or a DOM tree
  1488.        otherwise. """
  1489.     ret = libxml2mod.xmlCreatePushParser(SAX, chunk, size, URI)
  1490.     if ret is None:raise parserError('xmlCreatePushParser() failed')
  1491.     return parserCtxt(_obj=ret)
  1492.  
  1493. def debugMemory(activate):
  1494.     """Switch on the generation of line number for elements nodes.
  1495.       Also returns the number of bytes allocated and not freed by
  1496.        libxml2 since memory debugging was switched on. """
  1497.     ret = libxml2mod.xmlDebugMemory(activate)
  1498.     return ret
  1499.  
  1500. def dumpMemory():
  1501.     """dump the memory allocated in the file .memdump """
  1502.     libxml2mod.xmlDumpMemory()
  1503.  
  1504. def htmlCreatePushParser(SAX, chunk, size, URI):
  1505.     """Create a progressive HTML parser context to build either an
  1506.       event flow if the SAX object is not None, or a DOM tree
  1507.        otherwise. """
  1508.     ret = libxml2mod.htmlCreatePushParser(SAX, chunk, size, URI)
  1509.     if ret is None:raise parserError('htmlCreatePushParser() failed')
  1510.     return parserCtxt(_obj=ret)
  1511.  
  1512. def htmlSAXParseFile(SAX, URI, encoding):
  1513.     """Interface to parse an HTML file or resource pointed by an
  1514.        URI to build an event flow to the SAX object """
  1515.     libxml2mod.htmlSAXParseFile(SAX, URI, encoding)
  1516.  
  1517. def memoryUsed():
  1518.     """Returns the total amount of memory allocated by libxml2 """
  1519.     ret = libxml2mod.xmlMemoryUsed()
  1520.     return ret
  1521.  
  1522. def newNode(name):
  1523.     """Create a new Node """
  1524.     ret = libxml2mod.xmlNewNode(name)
  1525.     if ret is None:raise treeError('xmlNewNode() failed')
  1526.     return xmlNode(_obj=ret)
  1527.  
  1528. def pythonCleanupParser():
  1529.     """Cleanup function for the XML library. It tries to reclaim
  1530.       all parsing related global memory allocated for the library
  1531.       processing. It doesn't deallocate any document related
  1532.       memory. Calling this function should not prevent reusing
  1533.       the library but one should call xmlCleanupParser() only
  1534.       when the process has finished using the library or XML
  1535.        document built with it. """
  1536.     libxml2mod.xmlPythonCleanupParser()
  1537.  
  1538. def setEntityLoader(resolver):
  1539.     """Set the entity resolver as a python function """
  1540.     ret = libxml2mod.xmlSetEntityLoader(resolver)
  1541.     return ret
  1542.  
  1543. #
  1544. # Functions from module relaxng
  1545. #
  1546.  
  1547. def relaxNGCleanupTypes():
  1548.     """Cleanup the default Schemas type library associated to
  1549.        RelaxNG """
  1550.     libxml2mod.xmlRelaxNGCleanupTypes()
  1551.  
  1552. def relaxNGInitTypes():
  1553.     """Initilize the default type libraries. """
  1554.     ret = libxml2mod.xmlRelaxNGInitTypes()
  1555.     return ret
  1556.  
  1557. def relaxNGNewMemParserCtxt(buffer, size):
  1558.     """Create an XML RelaxNGs parse context for that memory buffer
  1559.        expected to contain an XML RelaxNGs file. """
  1560.     ret = libxml2mod.xmlRelaxNGNewMemParserCtxt(buffer, size)
  1561.     if ret is None:raise parserError('xmlRelaxNGNewMemParserCtxt() failed')
  1562.     return relaxNgParserCtxt(_obj=ret)
  1563.  
  1564. def relaxNGNewParserCtxt(URL):
  1565.     """Create an XML RelaxNGs parse context for that file/resource
  1566.        expected to contain an XML RelaxNGs file. """
  1567.     ret = libxml2mod.xmlRelaxNGNewParserCtxt(URL)
  1568.     if ret is None:raise parserError('xmlRelaxNGNewParserCtxt() failed')
  1569.     return relaxNgParserCtxt(_obj=ret)
  1570.  
  1571. #
  1572. # Functions from module tree
  1573. #
  1574.  
  1575. def buildQName(ncname, prefix, memory, len):
  1576.     """Builds the QName @prefix:@ncname in @memory if there is
  1577.       enough space and prefix is not None nor empty, otherwise
  1578.       allocate a new string. If prefix is None or empty it
  1579.        returns ncname. """
  1580.     ret = libxml2mod.xmlBuildQName(ncname, prefix, memory, len)
  1581.     return ret
  1582.  
  1583. def compressMode():
  1584.     """get the default compression mode used, ZLIB based. """
  1585.     ret = libxml2mod.xmlGetCompressMode()
  1586.     return ret
  1587.  
  1588. def isXHTML(systemID, publicID):
  1589.     """Try to find if the document correspond to an XHTML DTD """
  1590.     ret = libxml2mod.xmlIsXHTML(systemID, publicID)
  1591.     return ret
  1592.  
  1593. def newComment(content):
  1594.     """Creation of a new node containing a comment. """
  1595.     ret = libxml2mod.xmlNewComment(content)
  1596.     if ret is None:raise treeError('xmlNewComment() failed')
  1597.     return xmlNode(_obj=ret)
  1598.  
  1599. def newDoc(version):
  1600.     """Creates a new XML document """
  1601.     ret = libxml2mod.xmlNewDoc(version)
  1602.     if ret is None:raise treeError('xmlNewDoc() failed')
  1603.     return xmlDoc(_obj=ret)
  1604.  
  1605. def newPI(name, content):
  1606.     """Creation of a processing instruction element. Use
  1607.        xmlDocNewPI preferably to get string interning """
  1608.     ret = libxml2mod.xmlNewPI(name, content)
  1609.     if ret is None:raise treeError('xmlNewPI() failed')
  1610.     return xmlNode(_obj=ret)
  1611.  
  1612. def newText(content):
  1613.     """Creation of a new text node. """
  1614.     ret = libxml2mod.xmlNewText(content)
  1615.     if ret is None:raise treeError('xmlNewText() failed')
  1616.     return xmlNode(_obj=ret)
  1617.  
  1618. def newTextLen(content, len):
  1619.     """Creation of a new text node with an extra parameter for the
  1620.        content's length """
  1621.     ret = libxml2mod.xmlNewTextLen(content, len)
  1622.     if ret is None:raise treeError('xmlNewTextLen() failed')
  1623.     return xmlNode(_obj=ret)
  1624.  
  1625. def setCompressMode(mode):
  1626.     """set the default compression mode used, ZLIB based Correct
  1627.        values: 0 (uncompressed) to 9 (max compression) """
  1628.     libxml2mod.xmlSetCompressMode(mode)
  1629.  
  1630. def validateNCName(value, space):
  1631.     """Check that a value conforms to the lexical space of NCName """
  1632.     ret = libxml2mod.xmlValidateNCName(value, space)
  1633.     return ret
  1634.  
  1635. def validateNMToken(value, space):
  1636.     """Check that a value conforms to the lexical space of NMToken """
  1637.     ret = libxml2mod.xmlValidateNMToken(value, space)
  1638.     return ret
  1639.  
  1640. def validateName(value, space):
  1641.     """Check that a value conforms to the lexical space of Name """
  1642.     ret = libxml2mod.xmlValidateName(value, space)
  1643.     return ret
  1644.  
  1645. def validateQName(value, space):
  1646.     """Check that a value conforms to the lexical space of QName """
  1647.     ret = libxml2mod.xmlValidateQName(value, space)
  1648.     return ret
  1649.  
  1650. #
  1651. # Functions from module uri
  1652. #
  1653.  
  1654. def URIEscape(str):
  1655.     """Escaping routine, does not do validity checks ! It will try
  1656.       to escape the chars needing this, but this is heuristic
  1657.        based it's impossible to be sure. """
  1658.     ret = libxml2mod.xmlURIEscape(str)
  1659.     return ret
  1660.  
  1661. def URIEscapeStr(str, list):
  1662.     """This routine escapes a string to hex, ignoring reserved
  1663.        characters (a-z) and the characters in the exception list. """
  1664.     ret = libxml2mod.xmlURIEscapeStr(str, list)
  1665.     return ret
  1666.  
  1667. def URIUnescapeString(str, len, target):
  1668.     """Unescaping routine, but does not check that the string is
  1669.       an URI. The output is a direct unsigned char translation of
  1670.       %XX values (no encoding) Note that the length of the result
  1671.        can only be smaller or same size as the input string. """
  1672.     ret = libxml2mod.xmlURIUnescapeString(str, len, target)
  1673.     return ret
  1674.  
  1675. def buildRelativeURI(URI, base):
  1676.     """Expresses the URI of the reference in terms relative to the
  1677.       base.  Some examples of this operation include: base =
  1678.       "http://site1.com/docs/book1.html" URI input               
  1679.       URI returned docs/pic1.gif                    pic1.gif
  1680.       docs/img/pic1.gif                img/pic1.gif img/pic1.gif 
  1681.       ../img/pic1.gif http://site1.com/docs/pic1.gif   pic1.gif
  1682.       http://site2.com/docs/pic1.gif  
  1683.       http://site2.com/docs/pic1.gif  base = "docs/book1.html"
  1684.       URI input                        URI returned docs/pic1.gif
  1685.       pic1.gif docs/img/pic1.gif                img/pic1.gif
  1686.       img/pic1.gif                     ../img/pic1.gif
  1687.       http://site1.com/docs/pic1.gif  
  1688.       http://site1.com/docs/pic1.gif   Note: if the URI reference
  1689.       is really wierd or complicated, it may be worthwhile to
  1690.       first convert it into a "nice" one by calling xmlBuildURI
  1691.       (using 'base') before calling this routine, since this
  1692.       routine (for reasonable efficiency) assumes URI has already
  1693.        been through some validation. """
  1694.     ret = libxml2mod.xmlBuildRelativeURI(URI, base)
  1695.     return ret
  1696.  
  1697. def buildURI(URI, base):
  1698.     """Computes he final URI of the reference done by checking
  1699.       that the given URI is valid, and building the final URI
  1700.       using the base URI. This is processed according to section
  1701.       5.2 of the RFC 2396  5.2. Resolving Relative References to
  1702.        Absolute Form """
  1703.     ret = libxml2mod.xmlBuildURI(URI, base)
  1704.     return ret
  1705.  
  1706. def canonicPath(path):
  1707.     """Constructs a canonic path from the specified path. """
  1708.     ret = libxml2mod.xmlCanonicPath(path)
  1709.     return ret
  1710.  
  1711. def createURI():
  1712.     """Simply creates an empty xmlURI """
  1713.     ret = libxml2mod.xmlCreateURI()
  1714.     if ret is None:raise uriError('xmlCreateURI() failed')
  1715.     return URI(_obj=ret)
  1716.  
  1717. def normalizeURIPath(path):
  1718.     """Applies the 5 normalization steps to a path string--that
  1719.       is, RFC 2396 Section 5.2, steps 6.c through 6.g. 
  1720.       Normalization occurs directly on the string, no new
  1721.        allocation is done """
  1722.     ret = libxml2mod.xmlNormalizeURIPath(path)
  1723.     return ret
  1724.  
  1725. def parseURI(str):
  1726.     """Parse an URI based on RFC 3986  URI-reference = [
  1727.        absoluteURI | relativeURI ] [ "#" fragment ] """
  1728.     ret = libxml2mod.xmlParseURI(str)
  1729.     if ret is None:raise uriError('xmlParseURI() failed')
  1730.     return URI(_obj=ret)
  1731.  
  1732. def parseURIRaw(str, raw):
  1733.     """Parse an URI but allows to keep intact the original
  1734.        fragments.  URI-reference = URI / relative-ref """
  1735.     ret = libxml2mod.xmlParseURIRaw(str, raw)
  1736.     if ret is None:raise uriError('xmlParseURIRaw() failed')
  1737.     return URI(_obj=ret)
  1738.  
  1739. def pathToURI(path):
  1740.     """Constructs an URI expressing the existing path """
  1741.     ret = libxml2mod.xmlPathToURI(path)
  1742.     return ret
  1743.  
  1744. #
  1745. # Functions from module valid
  1746. #
  1747.  
  1748. def newValidCtxt():
  1749.     """Allocate a validation context structure. """
  1750.     ret = libxml2mod.xmlNewValidCtxt()
  1751.     if ret is None:raise treeError('xmlNewValidCtxt() failed')
  1752.     return ValidCtxt(_obj=ret)
  1753.  
  1754. def validateNameValue(value):
  1755.     """Validate that the given value match Name production """
  1756.     ret = libxml2mod.xmlValidateNameValue(value)
  1757.     return ret
  1758.  
  1759. def validateNamesValue(value):
  1760.     """Validate that the given value match Names production """
  1761.     ret = libxml2mod.xmlValidateNamesValue(value)
  1762.     return ret
  1763.  
  1764. def validateNmtokenValue(value):
  1765.     """Validate that the given value match Nmtoken production  [
  1766.        VC: Name Token ] """
  1767.     ret = libxml2mod.xmlValidateNmtokenValue(value)
  1768.     return ret
  1769.  
  1770. def validateNmtokensValue(value):
  1771.     """Validate that the given value match Nmtokens production  [
  1772.        VC: Name Token ] """
  1773.     ret = libxml2mod.xmlValidateNmtokensValue(value)
  1774.     return ret
  1775.  
  1776. #
  1777. # Functions from module xmlIO
  1778. #
  1779.  
  1780. def checkFilename(path):
  1781.     """function checks to see if @path is a valid source (file,
  1782.       socket...) for XML.  if stat is not available on the target
  1783.        machine, """
  1784.     ret = libxml2mod.xmlCheckFilename(path)
  1785.     return ret
  1786.  
  1787. def cleanupInputCallbacks():
  1788.     """clears the entire input callback table. this includes the
  1789.        compiled-in I/O. """
  1790.     libxml2mod.xmlCleanupInputCallbacks()
  1791.  
  1792. def cleanupOutputCallbacks():
  1793.     """clears the entire output callback table. this includes the
  1794.        compiled-in I/O callbacks. """
  1795.     libxml2mod.xmlCleanupOutputCallbacks()
  1796.  
  1797. def fileMatch(filename):
  1798.     """input from FILE * """
  1799.     ret = libxml2mod.xmlFileMatch(filename)
  1800.     return ret
  1801.  
  1802. def iOFTPMatch(filename):
  1803.     """check if the URI matches an FTP one """
  1804.     ret = libxml2mod.xmlIOFTPMatch(filename)
  1805.     return ret
  1806.  
  1807. def iOHTTPMatch(filename):
  1808.     """check if the URI matches an HTTP one """
  1809.     ret = libxml2mod.xmlIOHTTPMatch(filename)
  1810.     return ret
  1811.  
  1812. def normalizeWindowsPath(path):
  1813.     """This function is obsolete. Please see xmlURIFromPath in
  1814.        uri.c for a better solution. """
  1815.     ret = libxml2mod.xmlNormalizeWindowsPath(path)
  1816.     return ret
  1817.  
  1818. def parserGetDirectory(filename):
  1819.     """lookup the directory for that file """
  1820.     ret = libxml2mod.xmlParserGetDirectory(filename)
  1821.     return ret
  1822.  
  1823. def popInputCallbacks():
  1824.     """Clear the top input callback from the input stack. this
  1825.        includes the compiled-in I/O. """
  1826.     ret = libxml2mod.xmlPopInputCallbacks()
  1827.     return ret
  1828.  
  1829. def registerDefaultInputCallbacks():
  1830.     """Registers the default compiled-in I/O handlers. """
  1831.     libxml2mod.xmlRegisterDefaultInputCallbacks()
  1832.  
  1833. def registerDefaultOutputCallbacks():
  1834.     """Registers the default compiled-in I/O handlers. """
  1835.     libxml2mod.xmlRegisterDefaultOutputCallbacks()
  1836.  
  1837. def registerHTTPPostCallbacks():
  1838.     """By default, libxml submits HTTP output requests using the
  1839.       "PUT" method. Calling this method changes the HTTP output
  1840.        method to use the "POST" method instead. """
  1841.     libxml2mod.xmlRegisterHTTPPostCallbacks()
  1842.  
  1843. #
  1844. # Functions from module xmlerror
  1845. #
  1846.  
  1847. def lastError():
  1848.     """Get the last global error registered. This is per thread if
  1849.        compiled with thread support. """
  1850.     ret = libxml2mod.xmlGetLastError()
  1851.     if ret is None:raise treeError('xmlGetLastError() failed')
  1852.     return Error(_obj=ret)
  1853.  
  1854. def resetLastError():
  1855.     """Cleanup the last global error registered. For parsing error
  1856.        this does not change the well-formedness result. """
  1857.     libxml2mod.xmlResetLastError()
  1858.  
  1859. #
  1860. # Functions from module xmlreader
  1861. #
  1862.  
  1863. def newTextReaderFilename(URI):
  1864.     """Create an xmlTextReader structure fed with the resource at
  1865.        @URI """
  1866.     ret = libxml2mod.xmlNewTextReaderFilename(URI)
  1867.     if ret is None:raise treeError('xmlNewTextReaderFilename() failed')
  1868.     return xmlTextReader(_obj=ret)
  1869.  
  1870. def readerForDoc(cur, URL, encoding, options):
  1871.     """Create an xmltextReader for an XML in-memory document. The
  1872.       parsing flags @options are a combination of xmlParserOption. """
  1873.     ret = libxml2mod.xmlReaderForDoc(cur, URL, encoding, options)
  1874.     if ret is None:raise treeError('xmlReaderForDoc() failed')
  1875.     return xmlTextReader(_obj=ret)
  1876.  
  1877. def readerForFd(fd, URL, encoding, options):
  1878.     """Create an xmltextReader for an XML from a file descriptor.
  1879.       The parsing flags @options are a combination of
  1880.       xmlParserOption. NOTE that the file descriptor will not be
  1881.        closed when the reader is closed or reset. """
  1882.     ret = libxml2mod.xmlReaderForFd(fd, URL, encoding, options)
  1883.     if ret is None:raise treeError('xmlReaderForFd() failed')
  1884.     return xmlTextReader(_obj=ret)
  1885.  
  1886. def readerForFile(filename, encoding, options):
  1887.     """parse an XML file from the filesystem or the network. The
  1888.       parsing flags @options are a combination of xmlParserOption. """
  1889.     ret = libxml2mod.xmlReaderForFile(filename, encoding, options)
  1890.     if ret is None:raise treeError('xmlReaderForFile() failed')
  1891.     return xmlTextReader(_obj=ret)
  1892.  
  1893. def readerForMemory(buffer, size, URL, encoding, options):
  1894.     """Create an xmltextReader for an XML in-memory document. The
  1895.       parsing flags @options are a combination of xmlParserOption. """
  1896.     ret = libxml2mod.xmlReaderForMemory(buffer, size, URL, encoding, options)
  1897.     if ret is None:raise treeError('xmlReaderForMemory() failed')
  1898.     return xmlTextReader(_obj=ret)
  1899.  
  1900. #
  1901. # Functions from module xmlregexp
  1902. #
  1903.  
  1904. def regexpCompile(regexp):
  1905.     """Parses a regular expression conforming to XML Schemas Part
  1906.       2 Datatype Appendix F and builds an automata suitable for
  1907.        testing strings against that regular expression """
  1908.     ret = libxml2mod.xmlRegexpCompile(regexp)
  1909.     if ret is None:raise treeError('xmlRegexpCompile() failed')
  1910.     return xmlReg(_obj=ret)
  1911.  
  1912. #
  1913. # Functions from module xmlschemas
  1914. #
  1915.  
  1916. def schemaNewMemParserCtxt(buffer, size):
  1917.     """Create an XML Schemas parse context for that memory buffer
  1918.        expected to contain an XML Schemas file. """
  1919.     ret = libxml2mod.xmlSchemaNewMemParserCtxt(buffer, size)
  1920.     if ret is None:raise parserError('xmlSchemaNewMemParserCtxt() failed')
  1921.     return SchemaParserCtxt(_obj=ret)
  1922.  
  1923. def schemaNewParserCtxt(URL):
  1924.     """Create an XML Schemas parse context for that file/resource
  1925.        expected to contain an XML Schemas file. """
  1926.     ret = libxml2mod.xmlSchemaNewParserCtxt(URL)
  1927.     if ret is None:raise parserError('xmlSchemaNewParserCtxt() failed')
  1928.     return SchemaParserCtxt(_obj=ret)
  1929.  
  1930. #
  1931. # Functions from module xmlschemastypes
  1932. #
  1933.  
  1934. def schemaCleanupTypes():
  1935.     """Cleanup the default XML Schemas type library """
  1936.     libxml2mod.xmlSchemaCleanupTypes()
  1937.  
  1938. def schemaCollapseString(value):
  1939.     """Removes and normalize white spaces in the string """
  1940.     ret = libxml2mod.xmlSchemaCollapseString(value)
  1941.     return ret
  1942.  
  1943. def schemaInitTypes():
  1944.     """Initialize the default XML Schemas type library """
  1945.     libxml2mod.xmlSchemaInitTypes()
  1946.  
  1947. def schemaWhiteSpaceReplace(value):
  1948.     """Replaces 0xd, 0x9 and 0xa with a space. """
  1949.     ret = libxml2mod.xmlSchemaWhiteSpaceReplace(value)
  1950.     return ret
  1951.  
  1952. #
  1953. # Functions from module xmlstring
  1954. #
  1955.  
  1956. def UTF8Charcmp(utf1, utf2):
  1957.     """compares the two UCS4 values """
  1958.     ret = libxml2mod.xmlUTF8Charcmp(utf1, utf2)
  1959.     return ret
  1960.  
  1961. def UTF8Size(utf):
  1962.     """calculates the internal size of a UTF8 character """
  1963.     ret = libxml2mod.xmlUTF8Size(utf)
  1964.     return ret
  1965.  
  1966. def UTF8Strlen(utf):
  1967.     """compute the length of an UTF8 string, it doesn't do a full
  1968.        UTF8 checking of the content of the string. """
  1969.     ret = libxml2mod.xmlUTF8Strlen(utf)
  1970.     return ret
  1971.  
  1972. def UTF8Strloc(utf, utfchar):
  1973.     """a function to provide the relative location of a UTF8 char """
  1974.     ret = libxml2mod.xmlUTF8Strloc(utf, utfchar)
  1975.     return ret
  1976.  
  1977. def UTF8Strndup(utf, len):
  1978.     """a strndup for array of UTF8's """
  1979.     ret = libxml2mod.xmlUTF8Strndup(utf, len)
  1980.     return ret
  1981.  
  1982. def UTF8Strpos(utf, pos):
  1983.     """a function to provide the equivalent of fetching a
  1984.        character from a string array """
  1985.     ret = libxml2mod.xmlUTF8Strpos(utf, pos)
  1986.     return ret
  1987.  
  1988. def UTF8Strsize(utf, len):
  1989.     """storage size of an UTF8 string the behaviour is not
  1990.        garanteed if the input string is not UTF-8 """
  1991.     ret = libxml2mod.xmlUTF8Strsize(utf, len)
  1992.     return ret
  1993.  
  1994. def UTF8Strsub(utf, start, len):
  1995.     """Create a substring from a given UTF-8 string Note: 
  1996.        positions are given in units of UTF-8 chars """
  1997.     ret = libxml2mod.xmlUTF8Strsub(utf, start, len)
  1998.     return ret
  1999.  
  2000. def checkUTF8(utf):
  2001.     """Checks @utf for being valid UTF-8. @utf is assumed to be
  2002.       null-terminated. This function is not super-strict, as it
  2003.       will allow longer UTF-8 sequences than necessary. Note that
  2004.       Java is capable of producing these sequences if provoked.
  2005.       Also note, this routine checks for the 4-byte maximum size,
  2006.        but does not check for 0x10ffff maximum value. """
  2007.     ret = libxml2mod.xmlCheckUTF8(utf)
  2008.     return ret
  2009.  
  2010. #
  2011. # Functions from module xmlunicode
  2012. #
  2013.  
  2014. def uCSIsAegeanNumbers(code):
  2015.     """Check whether the character is part of AegeanNumbers UCS
  2016.        Block """
  2017.     ret = libxml2mod.xmlUCSIsAegeanNumbers(code)
  2018.     return ret
  2019.  
  2020. def uCSIsAlphabeticPresentationForms(code):
  2021.     """Check whether the character is part of
  2022.        AlphabeticPresentationForms UCS Block """
  2023.     ret = libxml2mod.xmlUCSIsAlphabeticPresentationForms(code)
  2024.     return ret
  2025.  
  2026. def uCSIsArabic(code):
  2027.     """Check whether the character is part of Arabic UCS Block """
  2028.     ret = libxml2mod.xmlUCSIsArabic(code)
  2029.     return ret
  2030.  
  2031. def uCSIsArabicPresentationFormsA(code):
  2032.     """Check whether the character is part of
  2033.        ArabicPresentationForms-A UCS Block """
  2034.     ret = libxml2mod.xmlUCSIsArabicPresentationFormsA(code)
  2035.     return ret
  2036.  
  2037. def uCSIsArabicPresentationFormsB(code):
  2038.     """Check whether the character is part of
  2039.        ArabicPresentationForms-B UCS Block """
  2040.     ret = libxml2mod.xmlUCSIsArabicPresentationFormsB(code)
  2041.     return ret
  2042.  
  2043. def uCSIsArmenian(code):
  2044.     """Check whether the character is part of Armenian UCS Block """
  2045.     ret = libxml2mod.xmlUCSIsArmenian(code)
  2046.     return ret
  2047.  
  2048. def uCSIsArrows(code):
  2049.     """Check whether the character is part of Arrows UCS Block """
  2050.     ret = libxml2mod.xmlUCSIsArrows(code)
  2051.     return ret
  2052.  
  2053. def uCSIsBasicLatin(code):
  2054.     """Check whether the character is part of BasicLatin UCS Block """
  2055.     ret = libxml2mod.xmlUCSIsBasicLatin(code)
  2056.     return ret
  2057.  
  2058. def uCSIsBengali(code):
  2059.     """Check whether the character is part of Bengali UCS Block """
  2060.     ret = libxml2mod.xmlUCSIsBengali(code)
  2061.     return ret
  2062.  
  2063. def uCSIsBlock(code, block):
  2064.     """Check whether the character is part of the UCS Block """
  2065.     ret = libxml2mod.xmlUCSIsBlock(code, block)
  2066.     return ret
  2067.  
  2068. def uCSIsBlockElements(code):
  2069.     """Check whether the character is part of BlockElements UCS
  2070.        Block """
  2071.     ret = libxml2mod.xmlUCSIsBlockElements(code)
  2072.     return ret
  2073.  
  2074. def uCSIsBopomofo(code):
  2075.     """Check whether the character is part of Bopomofo UCS Block """
  2076.     ret = libxml2mod.xmlUCSIsBopomofo(code)
  2077.     return ret
  2078.  
  2079. def uCSIsBopomofoExtended(code):
  2080.     """Check whether the character is part of BopomofoExtended UCS
  2081.        Block """
  2082.     ret = libxml2mod.xmlUCSIsBopomofoExtended(code)
  2083.     return ret
  2084.  
  2085. def uCSIsBoxDrawing(code):
  2086.     """Check whether the character is part of BoxDrawing UCS Block """
  2087.     ret = libxml2mod.xmlUCSIsBoxDrawing(code)
  2088.     return ret
  2089.  
  2090. def uCSIsBraillePatterns(code):
  2091.     """Check whether the character is part of BraillePatterns UCS
  2092.        Block """
  2093.     ret = libxml2mod.xmlUCSIsBraillePatterns(code)
  2094.     return ret
  2095.  
  2096. def uCSIsBuhid(code):
  2097.     """Check whether the character is part of Buhid UCS Block """
  2098.     ret = libxml2mod.xmlUCSIsBuhid(code)
  2099.     return ret
  2100.  
  2101. def uCSIsByzantineMusicalSymbols(code):
  2102.     """Check whether the character is part of
  2103.        ByzantineMusicalSymbols UCS Block """
  2104.     ret = libxml2mod.xmlUCSIsByzantineMusicalSymbols(code)
  2105.     return ret
  2106.  
  2107. def uCSIsCJKCompatibility(code):
  2108.     """Check whether the character is part of CJKCompatibility UCS
  2109.        Block """
  2110.     ret = libxml2mod.xmlUCSIsCJKCompatibility(code)
  2111.     return ret
  2112.  
  2113. def uCSIsCJKCompatibilityForms(code):
  2114.     """Check whether the character is part of
  2115.        CJKCompatibilityForms UCS Block """
  2116.     ret = libxml2mod.xmlUCSIsCJKCompatibilityForms(code)
  2117.     return ret
  2118.  
  2119. def uCSIsCJKCompatibilityIdeographs(code):
  2120.     """Check whether the character is part of
  2121.        CJKCompatibilityIdeographs UCS Block """
  2122.     ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographs(code)
  2123.     return ret
  2124.  
  2125. def uCSIsCJKCompatibilityIdeographsSupplement(code):
  2126.     """Check whether the character is part of
  2127.        CJKCompatibilityIdeographsSupplement UCS Block """
  2128.     ret = libxml2mod.xmlUCSIsCJKCompatibilityIdeographsSupplement(code)
  2129.     return ret
  2130.  
  2131. def uCSIsCJKRadicalsSupplement(code):
  2132.     """Check whether the character is part of
  2133.        CJKRadicalsSupplement UCS Block """
  2134.     ret = libxml2mod.xmlUCSIsCJKRadicalsSupplement(code)
  2135.     return ret
  2136.  
  2137. def uCSIsCJKSymbolsandPunctuation(code):
  2138.     """Check whether the character is part of
  2139.        CJKSymbolsandPunctuation UCS Block """
  2140.     ret = libxml2mod.xmlUCSIsCJKSymbolsandPunctuation(code)
  2141.     return ret
  2142.  
  2143. def uCSIsCJKUnifiedIdeographs(code):
  2144.     """Check whether the character is part of CJKUnifiedIdeographs
  2145.        UCS Block """
  2146.     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographs(code)
  2147.     return ret
  2148.  
  2149. def uCSIsCJKUnifiedIdeographsExtensionA(code):
  2150.     """Check whether the character is part of
  2151.        CJKUnifiedIdeographsExtensionA UCS Block """
  2152.     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionA(code)
  2153.     return ret
  2154.  
  2155. def uCSIsCJKUnifiedIdeographsExtensionB(code):
  2156.     """Check whether the character is part of
  2157.        CJKUnifiedIdeographsExtensionB UCS Block """
  2158.     ret = libxml2mod.xmlUCSIsCJKUnifiedIdeographsExtensionB(code)
  2159.     return ret
  2160.  
  2161. def uCSIsCat(code, cat):
  2162.     """Check whether the character is part of the UCS Category """
  2163.     ret = libxml2mod.xmlUCSIsCat(code, cat)
  2164.     return ret
  2165.  
  2166. def uCSIsCatC(code):
  2167.     """Check whether the character is part of C UCS Category """
  2168.     ret = libxml2mod.xmlUCSIsCatC(code)
  2169.     return ret
  2170.  
  2171. def uCSIsCatCc(code):
  2172.     """Check whether the character is part of Cc UCS Category """
  2173.     ret = libxml2mod.xmlUCSIsCatCc(code)
  2174.     return ret
  2175.  
  2176. def uCSIsCatCf(code):
  2177.     """Check whether the character is part of Cf UCS Category """
  2178.     ret = libxml2mod.xmlUCSIsCatCf(code)
  2179.     return ret
  2180.  
  2181. def uCSIsCatCo(code):
  2182.     """Check whether the character is part of Co UCS Category """
  2183.     ret = libxml2mod.xmlUCSIsCatCo(code)
  2184.     return ret
  2185.  
  2186. def uCSIsCatCs(code):
  2187.     """Check whether the character is part of Cs UCS Category """
  2188.     ret = libxml2mod.xmlUCSIsCatCs(code)
  2189.     return ret
  2190.  
  2191. def uCSIsCatL(code):
  2192.     """Check whether the character is part of L UCS Category """
  2193.     ret = libxml2mod.xmlUCSIsCatL(code)
  2194.     return ret
  2195.  
  2196. def uCSIsCatLl(code):
  2197.     """Check whether the character is part of Ll UCS Category """
  2198.     ret = libxml2mod.xmlUCSIsCatLl(code)
  2199.     return ret
  2200.  
  2201. def uCSIsCatLm(code):
  2202.     """Check whether the character is part of Lm UCS Category """
  2203.     ret = libxml2mod.xmlUCSIsCatLm(code)
  2204.     return ret
  2205.  
  2206. def uCSIsCatLo(code):
  2207.     """Check whether the character is part of Lo UCS Category """
  2208.     ret = libxml2mod.xmlUCSIsCatLo(code)
  2209.     return ret
  2210.  
  2211. def uCSIsCatLt(code):
  2212.     """Check whether the character is part of Lt UCS Category """
  2213.     ret = libxml2mod.xmlUCSIsCatLt(code)
  2214.     return ret
  2215.  
  2216. def uCSIsCatLu(code):
  2217.     """Check whether the character is part of Lu UCS Category """
  2218.     ret = libxml2mod.xmlUCSIsCatLu(code)
  2219.     return ret
  2220.  
  2221. def uCSIsCatM(code):
  2222.     """Check whether the character is part of M UCS Category """
  2223.     ret = libxml2mod.xmlUCSIsCatM(code)
  2224.     return ret
  2225.  
  2226. def uCSIsCatMc(code):
  2227.     """Check whether the character is part of Mc UCS Category """
  2228.     ret = libxml2mod.xmlUCSIsCatMc(code)
  2229.     return ret
  2230.  
  2231. def uCSIsCatMe(code):
  2232.     """Check whether the character is part of Me UCS Category """
  2233.     ret = libxml2mod.xmlUCSIsCatMe(code)
  2234.     return ret
  2235.  
  2236. def uCSIsCatMn(code):
  2237.     """Check whether the character is part of Mn UCS Category """
  2238.     ret = libxml2mod.xmlUCSIsCatMn(code)
  2239.     return ret
  2240.  
  2241. def uCSIsCatN(code):
  2242.     """Check whether the character is part of N UCS Category """
  2243.     ret = libxml2mod.xmlUCSIsCatN(code)
  2244.     return ret
  2245.  
  2246. def uCSIsCatNd(code):
  2247.     """Check whether the character is part of Nd UCS Category """
  2248.     ret = libxml2mod.xmlUCSIsCatNd(code)
  2249.     return ret
  2250.  
  2251. def uCSIsCatNl(code):
  2252.     """Check whether the character is part of Nl UCS Category """
  2253.     ret = libxml2mod.xmlUCSIsCatNl(code)
  2254.     return ret
  2255.  
  2256. def uCSIsCatNo(code):
  2257.     """Check whether the character is part of No UCS Category """
  2258.     ret = libxml2mod.xmlUCSIsCatNo(code)
  2259.     return ret
  2260.  
  2261. def uCSIsCatP(code):
  2262.     """Check whether the character is part of P UCS Category """
  2263.     ret = libxml2mod.xmlUCSIsCatP(code)
  2264.     return ret
  2265.  
  2266. def uCSIsCatPc(code):
  2267.     """Check whether the character is part of Pc UCS Category """
  2268.     ret = libxml2mod.xmlUCSIsCatPc(code)
  2269.     return ret
  2270.  
  2271. def uCSIsCatPd(code):
  2272.     """Check whether the character is part of Pd UCS Category """
  2273.     ret = libxml2mod.xmlUCSIsCatPd(code)
  2274.     return ret
  2275.  
  2276. def uCSIsCatPe(code):
  2277.     """Check whether the character is part of Pe UCS Category """
  2278.     ret = libxml2mod.xmlUCSIsCatPe(code)
  2279.     return ret
  2280.  
  2281. def uCSIsCatPf(code):
  2282.     """Check whether the character is part of Pf UCS Category """
  2283.     ret = libxml2mod.xmlUCSIsCatPf(code)
  2284.     return ret
  2285.  
  2286. def uCSIsCatPi(code):
  2287.     """Check whether the character is part of Pi UCS Category """
  2288.     ret = libxml2mod.xmlUCSIsCatPi(code)
  2289.     return ret
  2290.  
  2291. def uCSIsCatPo(code):
  2292.     """Check whether the character is part of Po UCS Category """
  2293.     ret = libxml2mod.xmlUCSIsCatPo(code)
  2294.     return ret
  2295.  
  2296. def uCSIsCatPs(code):
  2297.     """Check whether the character is part of Ps UCS Category """
  2298.     ret = libxml2mod.xmlUCSIsCatPs(code)
  2299.     return ret
  2300.  
  2301. def uCSIsCatS(code):
  2302.     """Check whether the character is part of S UCS Category """
  2303.     ret = libxml2mod.xmlUCSIsCatS(code)
  2304.     return ret
  2305.  
  2306. def uCSIsCatSc(code):
  2307.     """Check whether the character is part of Sc UCS Category """
  2308.     ret = libxml2mod.xmlUCSIsCatSc(code)
  2309.     return ret
  2310.  
  2311. def uCSIsCatSk(code):
  2312.     """Check whether the character is part of Sk UCS Category """
  2313.     ret = libxml2mod.xmlUCSIsCatSk(code)
  2314.     return ret
  2315.  
  2316. def uCSIsCatSm(code):
  2317.     """Check whether the character is part of Sm UCS Category """
  2318.     ret = libxml2mod.xmlUCSIsCatSm(code)
  2319.     return ret
  2320.  
  2321. def uCSIsCatSo(code):
  2322.     """Check whether the character is part of So UCS Category """
  2323.     ret = libxml2mod.xmlUCSIsCatSo(code)
  2324.     return ret
  2325.  
  2326. def uCSIsCatZ(code):
  2327.     """Check whether the character is part of Z UCS Category """
  2328.     ret = libxml2mod.xmlUCSIsCatZ(code)
  2329.     return ret
  2330.  
  2331. def uCSIsCatZl(code):
  2332.     """Check whether the character is part of Zl UCS Category """
  2333.     ret = libxml2mod.xmlUCSIsCatZl(code)
  2334.     return ret
  2335.  
  2336. def uCSIsCatZp(code):
  2337.     """Check whether the character is part of Zp UCS Category """
  2338.     ret = libxml2mod.xmlUCSIsCatZp(code)
  2339.     return ret
  2340.  
  2341. def uCSIsCatZs(code):
  2342.     """Check whether the character is part of Zs UCS Category """
  2343.     ret = libxml2mod.xmlUCSIsCatZs(code)
  2344.     return ret
  2345.  
  2346. def uCSIsCherokee(code):
  2347.     """Check whether the character is part of Cherokee UCS Block """
  2348.     ret = libxml2mod.xmlUCSIsCherokee(code)
  2349.     return ret
  2350.  
  2351. def uCSIsCombiningDiacriticalMarks(code):
  2352.     """Check whether the character is part of
  2353.        CombiningDiacriticalMarks UCS Block """
  2354.     ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarks(code)
  2355.     return ret
  2356.  
  2357. def uCSIsCombiningDiacriticalMarksforSymbols(code):
  2358.     """Check whether the character is part of
  2359.        CombiningDiacriticalMarksforSymbols UCS Block """
  2360.     ret = libxml2mod.xmlUCSIsCombiningDiacriticalMarksforSymbols(code)
  2361.     return ret
  2362.  
  2363. def uCSIsCombiningHalfMarks(code):
  2364.     """Check whether the character is part of CombiningHalfMarks
  2365.        UCS Block """
  2366.     ret = libxml2mod.xmlUCSIsCombiningHalfMarks(code)
  2367.     return ret
  2368.  
  2369. def uCSIsCombiningMarksforSymbols(code):
  2370.     """Check whether the character is part of
  2371.        CombiningMarksforSymbols UCS Block """
  2372.     ret = libxml2mod.xmlUCSIsCombiningMarksforSymbols(code)
  2373.     return ret
  2374.  
  2375. def uCSIsControlPictures(code):
  2376.     """Check whether the character is part of ControlPictures UCS
  2377.        Block """
  2378.     ret = libxml2mod.xmlUCSIsControlPictures(code)
  2379.     return ret
  2380.  
  2381. def uCSIsCurrencySymbols(code):
  2382.     """Check whether the character is part of CurrencySymbols UCS
  2383.        Block """
  2384.     ret = libxml2mod.xmlUCSIsCurrencySymbols(code)
  2385.     return ret
  2386.  
  2387. def uCSIsCypriotSyllabary(code):
  2388.     """Check whether the character is part of CypriotSyllabary UCS
  2389.        Block """
  2390.     ret = libxml2mod.xmlUCSIsCypriotSyllabary(code)
  2391.     return ret
  2392.  
  2393. def uCSIsCyrillic(code):
  2394.     """Check whether the character is part of Cyrillic UCS Block """
  2395.     ret = libxml2mod.xmlUCSIsCyrillic(code)
  2396.     return ret
  2397.  
  2398. def uCSIsCyrillicSupplement(code):
  2399.     """Check whether the character is part of CyrillicSupplement
  2400.        UCS Block """
  2401.     ret = libxml2mod.xmlUCSIsCyrillicSupplement(code)
  2402.     return ret
  2403.  
  2404. def uCSIsDeseret(code):
  2405.     """Check whether the character is part of Deseret UCS Block """
  2406.     ret = libxml2mod.xmlUCSIsDeseret(code)
  2407.     return ret
  2408.  
  2409. def uCSIsDevanagari(code):
  2410.     """Check whether the character is part of Devanagari UCS Block """
  2411.     ret = libxml2mod.xmlUCSIsDevanagari(code)
  2412.     return ret
  2413.  
  2414. def uCSIsDingbats(code):
  2415.     """Check whether the character is part of Dingbats UCS Block """
  2416.     ret = libxml2mod.xmlUCSIsDingbats(code)
  2417.     return ret
  2418.  
  2419. def uCSIsEnclosedAlphanumerics(code):
  2420.     """Check whether the character is part of
  2421.        EnclosedAlphanumerics UCS Block """
  2422.     ret = libxml2mod.xmlUCSIsEnclosedAlphanumerics(code)
  2423.     return ret
  2424.  
  2425. def uCSIsEnclosedCJKLettersandMonths(code):
  2426.     """Check whether the character is part of
  2427.        EnclosedCJKLettersandMonths UCS Block """
  2428.     ret = libxml2mod.xmlUCSIsEnclosedCJKLettersandMonths(code)
  2429.     return ret
  2430.  
  2431. def uCSIsEthiopic(code):
  2432.     """Check whether the character is part of Ethiopic UCS Block """
  2433.     ret = libxml2mod.xmlUCSIsEthiopic(code)
  2434.     return ret
  2435.  
  2436. def uCSIsGeneralPunctuation(code):
  2437.     """Check whether the character is part of GeneralPunctuation
  2438.        UCS Block """
  2439.     ret = libxml2mod.xmlUCSIsGeneralPunctuation(code)
  2440.     return ret
  2441.  
  2442. def uCSIsGeometricShapes(code):
  2443.     """Check whether the character is part of GeometricShapes UCS
  2444.        Block """
  2445.     ret = libxml2mod.xmlUCSIsGeometricShapes(code)
  2446.     return ret
  2447.  
  2448. def uCSIsGeorgian(code):
  2449.     """Check whether the character is part of Georgian UCS Block """
  2450.     ret = libxml2mod.xmlUCSIsGeorgian(code)
  2451.     return ret
  2452.  
  2453. def uCSIsGothic(code):
  2454.     """Check whether the character is part of Gothic UCS Block """
  2455.     ret = libxml2mod.xmlUCSIsGothic(code)
  2456.     return ret
  2457.  
  2458. def uCSIsGreek(code):
  2459.     """Check whether the character is part of Greek UCS Block """
  2460.     ret = libxml2mod.xmlUCSIsGreek(code)
  2461.     return ret
  2462.  
  2463. def uCSIsGreekExtended(code):
  2464.     """Check whether the character is part of GreekExtended UCS
  2465.        Block """
  2466.     ret = libxml2mod.xmlUCSIsGreekExtended(code)
  2467.     return ret
  2468.  
  2469. def uCSIsGreekandCoptic(code):
  2470.     """Check whether the character is part of GreekandCoptic UCS
  2471.        Block """
  2472.     ret = libxml2mod.xmlUCSIsGreekandCoptic(code)
  2473.     return ret
  2474.  
  2475. def uCSIsGujarati(code):
  2476.     """Check whether the character is part of Gujarati UCS Block """
  2477.     ret = libxml2mod.xmlUCSIsGujarati(code)
  2478.     return ret
  2479.  
  2480. def uCSIsGurmukhi(code):
  2481.     """Check whether the character is part of Gurmukhi UCS Block """
  2482.     ret = libxml2mod.xmlUCSIsGurmukhi(code)
  2483.     return ret
  2484.  
  2485. def uCSIsHalfwidthandFullwidthForms(code):
  2486.     """Check whether the character is part of
  2487.        HalfwidthandFullwidthForms UCS Block """
  2488.     ret = libxml2mod.xmlUCSIsHalfwidthandFullwidthForms(code)
  2489.     return ret
  2490.  
  2491. def uCSIsHangulCompatibilityJamo(code):
  2492.     """Check whether the character is part of
  2493.        HangulCompatibilityJamo UCS Block """
  2494.     ret = libxml2mod.xmlUCSIsHangulCompatibilityJamo(code)
  2495.     return ret
  2496.  
  2497. def uCSIsHangulJamo(code):
  2498.     """Check whether the character is part of HangulJamo UCS Block """
  2499.     ret = libxml2mod.xmlUCSIsHangulJamo(code)
  2500.     return ret
  2501.  
  2502. def uCSIsHangulSyllables(code):
  2503.     """Check whether the character is part of HangulSyllables UCS
  2504.        Block """
  2505.     ret = libxml2mod.xmlUCSIsHangulSyllables(code)
  2506.     return ret
  2507.  
  2508. def uCSIsHanunoo(code):
  2509.     """Check whether the character is part of Hanunoo UCS Block """
  2510.     ret = libxml2mod.xmlUCSIsHanunoo(code)
  2511.     return ret
  2512.  
  2513. def uCSIsHebrew(code):
  2514.     """Check whether the character is part of Hebrew UCS Block """
  2515.     ret = libxml2mod.xmlUCSIsHebrew(code)
  2516.     return ret
  2517.  
  2518. def uCSIsHighPrivateUseSurrogates(code):
  2519.     """Check whether the character is part of
  2520.        HighPrivateUseSurrogates UCS Block """
  2521.     ret = libxml2mod.xmlUCSIsHighPrivateUseSurrogates(code)
  2522.     return ret
  2523.  
  2524. def uCSIsHighSurrogates(code):
  2525.     """Check whether the character is part of HighSurrogates UCS
  2526.        Block """
  2527.     ret = libxml2mod.xmlUCSIsHighSurrogates(code)
  2528.     return ret
  2529.  
  2530. def uCSIsHiragana(code):
  2531.     """Check whether the character is part of Hiragana UCS Block """
  2532.     ret = libxml2mod.xmlUCSIsHiragana(code)
  2533.     return ret
  2534.  
  2535. def uCSIsIPAExtensions(code):
  2536.     """Check whether the character is part of IPAExtensions UCS
  2537.        Block """
  2538.     ret = libxml2mod.xmlUCSIsIPAExtensions(code)
  2539.     return ret
  2540.  
  2541. def uCSIsIdeographicDescriptionCharacters(code):
  2542.     """Check whether the character is part of
  2543.        IdeographicDescriptionCharacters UCS Block """
  2544.     ret = libxml2mod.xmlUCSIsIdeographicDescriptionCharacters(code)
  2545.     return ret
  2546.  
  2547. def uCSIsKanbun(code):
  2548.     """Check whether the character is part of Kanbun UCS Block """
  2549.     ret = libxml2mod.xmlUCSIsKanbun(code)
  2550.     return ret
  2551.  
  2552. def uCSIsKangxiRadicals(code):
  2553.     """Check whether the character is part of KangxiRadicals UCS
  2554.        Block """
  2555.     ret = libxml2mod.xmlUCSIsKangxiRadicals(code)
  2556.     return ret
  2557.  
  2558. def uCSIsKannada(code):
  2559.     """Check whether the character is part of Kannada UCS Block """
  2560.     ret = libxml2mod.xmlUCSIsKannada(code)
  2561.     return ret
  2562.  
  2563. def uCSIsKatakana(code):
  2564.     """Check whether the character is part of Katakana UCS Block """
  2565.     ret = libxml2mod.xmlUCSIsKatakana(code)
  2566.     return ret
  2567.  
  2568. def uCSIsKatakanaPhoneticExtensions(code):
  2569.     """Check whether the character is part of
  2570.        KatakanaPhoneticExtensions UCS Block """
  2571.     ret = libxml2mod.xmlUCSIsKatakanaPhoneticExtensions(code)
  2572.     return ret
  2573.  
  2574. def uCSIsKhmer(code):
  2575.     """Check whether the character is part of Khmer UCS Block """
  2576.     ret = libxml2mod.xmlUCSIsKhmer(code)
  2577.     return ret
  2578.  
  2579. def uCSIsKhmerSymbols(code):
  2580.     """Check whether the character is part of KhmerSymbols UCS
  2581.        Block """
  2582.     ret = libxml2mod.xmlUCSIsKhmerSymbols(code)
  2583.     return ret
  2584.  
  2585. def uCSIsLao(code):
  2586.     """Check whether the character is part of Lao UCS Block """
  2587.     ret = libxml2mod.xmlUCSIsLao(code)
  2588.     return ret
  2589.  
  2590. def uCSIsLatin1Supplement(code):
  2591.     """Check whether the character is part of Latin-1Supplement
  2592.        UCS Block """
  2593.     ret = libxml2mod.xmlUCSIsLatin1Supplement(code)
  2594.     return ret
  2595.  
  2596. def uCSIsLatinExtendedA(code):
  2597.     """Check whether the character is part of LatinExtended-A UCS
  2598.        Block """
  2599.     ret = libxml2mod.xmlUCSIsLatinExtendedA(code)
  2600.     return ret
  2601.  
  2602. def uCSIsLatinExtendedAdditional(code):
  2603.     """Check whether the character is part of
  2604.        LatinExtendedAdditional UCS Block """
  2605.     ret = libxml2mod.xmlUCSIsLatinExtendedAdditional(code)
  2606.     return ret
  2607.  
  2608. def uCSIsLatinExtendedB(code):
  2609.     """Check whether the character is part of LatinExtended-B UCS
  2610.        Block """
  2611.     ret = libxml2mod.xmlUCSIsLatinExtendedB(code)
  2612.     return ret
  2613.  
  2614. def uCSIsLetterlikeSymbols(code):
  2615.     """Check whether the character is part of LetterlikeSymbols
  2616.        UCS Block """
  2617.     ret = libxml2mod.xmlUCSIsLetterlikeSymbols(code)
  2618.     return ret
  2619.  
  2620. def uCSIsLimbu(code):
  2621.     """Check whether the character is part of Limbu UCS Block """
  2622.     ret = libxml2mod.xmlUCSIsLimbu(code)
  2623.     return ret
  2624.  
  2625. def uCSIsLinearBIdeograms(code):
  2626.     """Check whether the character is part of LinearBIdeograms UCS
  2627.        Block """
  2628.     ret = libxml2mod.xmlUCSIsLinearBIdeograms(code)
  2629.     return ret
  2630.  
  2631. def uCSIsLinearBSyllabary(code):
  2632.     """Check whether the character is part of LinearBSyllabary UCS
  2633.        Block """
  2634.     ret = libxml2mod.xmlUCSIsLinearBSyllabary(code)
  2635.     return ret
  2636.  
  2637. def uCSIsLowSurrogates(code):
  2638.     """Check whether the character is part of LowSurrogates UCS
  2639.        Block """
  2640.     ret = libxml2mod.xmlUCSIsLowSurrogates(code)
  2641.     return ret
  2642.  
  2643. def uCSIsMalayalam(code):
  2644.     """Check whether the character is part of Malayalam UCS Block """
  2645.     ret = libxml2mod.xmlUCSIsMalayalam(code)
  2646.     return ret
  2647.  
  2648. def uCSIsMathematicalAlphanumericSymbols(code):
  2649.     """Check whether the character is part of
  2650.        MathematicalAlphanumericSymbols UCS Block """
  2651.     ret = libxml2mod.xmlUCSIsMathematicalAlphanumericSymbols(code)
  2652.     return ret
  2653.  
  2654. def uCSIsMathematicalOperators(code):
  2655.     """Check whether the character is part of
  2656.        MathematicalOperators UCS Block """
  2657.     ret = libxml2mod.xmlUCSIsMathematicalOperators(code)
  2658.     return ret
  2659.  
  2660. def uCSIsMiscellaneousMathematicalSymbolsA(code):
  2661.     """Check whether the character is part of
  2662.        MiscellaneousMathematicalSymbols-A UCS Block """
  2663.     ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsA(code)
  2664.     return ret
  2665.  
  2666. def uCSIsMiscellaneousMathematicalSymbolsB(code):
  2667.     """Check whether the character is part of
  2668.        MiscellaneousMathematicalSymbols-B UCS Block """
  2669.     ret = libxml2mod.xmlUCSIsMiscellaneousMathematicalSymbolsB(code)
  2670.     return ret
  2671.  
  2672. def uCSIsMiscellaneousSymbols(code):
  2673.     """Check whether the character is part of MiscellaneousSymbols
  2674.        UCS Block """
  2675.     ret = libxml2mod.xmlUCSIsMiscellaneousSymbols(code)
  2676.     return ret
  2677.  
  2678. def uCSIsMiscellaneousSymbolsandArrows(code):
  2679.     """Check whether the character is part of
  2680.        MiscellaneousSymbolsandArrows UCS Block """
  2681.     ret = libxml2mod.xmlUCSIsMiscellaneousSymbolsandArrows(code)
  2682.     return ret
  2683.  
  2684. def uCSIsMiscellaneousTechnical(code):
  2685.     """Check whether the character is part of
  2686.        MiscellaneousTechnical UCS Block """
  2687.     ret = libxml2mod.xmlUCSIsMiscellaneousTechnical(code)
  2688.     return ret
  2689.  
  2690. def uCSIsMongolian(code):
  2691.     """Check whether the character is part of Mongolian UCS Block """
  2692.     ret = libxml2mod.xmlUCSIsMongolian(code)
  2693.     return ret
  2694.  
  2695. def uCSIsMusicalSymbols(code):
  2696.     """Check whether the character is part of MusicalSymbols UCS
  2697.        Block """
  2698.     ret = libxml2mod.xmlUCSIsMusicalSymbols(code)
  2699.     return ret
  2700.  
  2701. def uCSIsMyanmar(code):
  2702.     """Check whether the character is part of Myanmar UCS Block """
  2703.     ret = libxml2mod.xmlUCSIsMyanmar(code)
  2704.     return ret
  2705.  
  2706. def uCSIsNumberForms(code):
  2707.     """Check whether the character is part of NumberForms UCS Block """
  2708.     ret = libxml2mod.xmlUCSIsNumberForms(code)
  2709.     return ret
  2710.  
  2711. def uCSIsOgham(code):
  2712.     """Check whether the character is part of Ogham UCS Block """
  2713.     ret = libxml2mod.xmlUCSIsOgham(code)
  2714.     return ret
  2715.  
  2716. def uCSIsOldItalic(code):
  2717.     """Check whether the character is part of OldItalic UCS Block """
  2718.     ret = libxml2mod.xmlUCSIsOldItalic(code)
  2719.     return ret
  2720.  
  2721. def uCSIsOpticalCharacterRecognition(code):
  2722.     """Check whether the character is part of
  2723.        OpticalCharacterRecognition UCS Block """
  2724.     ret = libxml2mod.xmlUCSIsOpticalCharacterRecognition(code)
  2725.     return ret
  2726.  
  2727. def uCSIsOriya(code):
  2728.     """Check whether the character is part of Oriya UCS Block """
  2729.     ret = libxml2mod.xmlUCSIsOriya(code)
  2730.     return ret
  2731.  
  2732. def uCSIsOsmanya(code):
  2733.     """Check whether the character is part of Osmanya UCS Block """
  2734.     ret = libxml2mod.xmlUCSIsOsmanya(code)
  2735.     return ret
  2736.  
  2737. def uCSIsPhoneticExtensions(code):
  2738.     """Check whether the character is part of PhoneticExtensions
  2739.        UCS Block """
  2740.     ret = libxml2mod.xmlUCSIsPhoneticExtensions(code)
  2741.     return ret
  2742.  
  2743. def uCSIsPrivateUse(code):
  2744.     """Check whether the character is part of PrivateUse UCS Block """
  2745.     ret = libxml2mod.xmlUCSIsPrivateUse(code)
  2746.     return ret
  2747.  
  2748. def uCSIsPrivateUseArea(code):
  2749.     """Check whether the character is part of PrivateUseArea UCS
  2750.        Block """
  2751.     ret = libxml2mod.xmlUCSIsPrivateUseArea(code)
  2752.     return ret
  2753.  
  2754. def uCSIsRunic(code):
  2755.     """Check whether the character is part of Runic UCS Block """
  2756.     ret = libxml2mod.xmlUCSIsRunic(code)
  2757.     return ret
  2758.  
  2759. def uCSIsShavian(code):
  2760.     """Check whether the character is part of Shavian UCS Block """
  2761.     ret = libxml2mod.xmlUCSIsShavian(code)
  2762.     return ret
  2763.  
  2764. def uCSIsSinhala(code):
  2765.     """Check whether the character is part of Sinhala UCS Block """
  2766.     ret = libxml2mod.xmlUCSIsSinhala(code)
  2767.     return ret
  2768.  
  2769. def uCSIsSmallFormVariants(code):
  2770.     """Check whether the character is part of SmallFormVariants
  2771.        UCS Block """
  2772.     ret = libxml2mod.xmlUCSIsSmallFormVariants(code)
  2773.     return ret
  2774.  
  2775. def uCSIsSpacingModifierLetters(code):
  2776.     """Check whether the character is part of
  2777.        SpacingModifierLetters UCS Block """
  2778.     ret = libxml2mod.xmlUCSIsSpacingModifierLetters(code)
  2779.     return ret
  2780.  
  2781. def uCSIsSpecials(code):
  2782.     """Check whether the character is part of Specials UCS Block """
  2783.     ret = libxml2mod.xmlUCSIsSpecials(code)
  2784.     return ret
  2785.  
  2786. def uCSIsSuperscriptsandSubscripts(code):
  2787.     """Check whether the character is part of
  2788.        SuperscriptsandSubscripts UCS Block """
  2789.     ret = libxml2mod.xmlUCSIsSuperscriptsandSubscripts(code)
  2790.     return ret
  2791.  
  2792. def uCSIsSupplementalArrowsA(code):
  2793.     """Check whether the character is part of SupplementalArrows-A
  2794.        UCS Block """
  2795.     ret = libxml2mod.xmlUCSIsSupplementalArrowsA(code)
  2796.     return ret
  2797.  
  2798. def uCSIsSupplementalArrowsB(code):
  2799.     """Check whether the character is part of SupplementalArrows-B
  2800.        UCS Block """
  2801.     ret = libxml2mod.xmlUCSIsSupplementalArrowsB(code)
  2802.     return ret
  2803.  
  2804. def uCSIsSupplementalMathematicalOperators(code):
  2805.     """Check whether the character is part of
  2806.        SupplementalMathematicalOperators UCS Block """
  2807.     ret = libxml2mod.xmlUCSIsSupplementalMathematicalOperators(code)
  2808.     return ret
  2809.  
  2810. def uCSIsSupplementaryPrivateUseAreaA(code):
  2811.     """Check whether the character is part of
  2812.        SupplementaryPrivateUseArea-A UCS Block """
  2813.     ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaA(code)
  2814.     return ret
  2815.  
  2816. def uCSIsSupplementaryPrivateUseAreaB(code):
  2817.     """Check whether the character is part of
  2818.        SupplementaryPrivateUseArea-B UCS Block """
  2819.     ret = libxml2mod.xmlUCSIsSupplementaryPrivateUseAreaB(code)
  2820.     return ret
  2821.  
  2822. def uCSIsSyriac(code):
  2823.     """Check whether the character is part of Syriac UCS Block """
  2824.     ret = libxml2mod.xmlUCSIsSyriac(code)
  2825.     return ret
  2826.  
  2827. def uCSIsTagalog(code):
  2828.     """Check whether the character is part of Tagalog UCS Block """
  2829.     ret = libxml2mod.xmlUCSIsTagalog(code)
  2830.     return ret
  2831.  
  2832. def uCSIsTagbanwa(code):
  2833.     """Check whether the character is part of Tagbanwa UCS Block """
  2834.     ret = libxml2mod.xmlUCSIsTagbanwa(code)
  2835.     return ret
  2836.  
  2837. def uCSIsTags(code):
  2838.     """Check whether the character is part of Tags UCS Block """
  2839.     ret = libxml2mod.xmlUCSIsTags(code)
  2840.     return ret
  2841.  
  2842. def uCSIsTaiLe(code):
  2843.     """Check whether the character is part of TaiLe UCS Block """
  2844.     ret = libxml2mod.xmlUCSIsTaiLe(code)
  2845.     return ret
  2846.  
  2847. def uCSIsTaiXuanJingSymbols(code):
  2848.     """Check whether the character is part of TaiXuanJingSymbols
  2849.        UCS Block """
  2850.     ret = libxml2mod.xmlUCSIsTaiXuanJingSymbols(code)
  2851.     return ret
  2852.  
  2853. def uCSIsTamil(code):
  2854.     """Check whether the character is part of Tamil UCS Block """
  2855.     ret = libxml2mod.xmlUCSIsTamil(code)
  2856.     return ret
  2857.  
  2858. def uCSIsTelugu(code):
  2859.     """Check whether the character is part of Telugu UCS Block """
  2860.     ret = libxml2mod.xmlUCSIsTelugu(code)
  2861.     return ret
  2862.  
  2863. def uCSIsThaana(code):
  2864.     """Check whether the character is part of Thaana UCS Block """
  2865.     ret = libxml2mod.xmlUCSIsThaana(code)
  2866.     return ret
  2867.  
  2868. def uCSIsThai(code):
  2869.     """Check whether the character is part of Thai UCS Block """
  2870.     ret = libxml2mod.xmlUCSIsThai(code)
  2871.     return ret
  2872.  
  2873. def uCSIsTibetan(code):
  2874.     """Check whether the character is part of Tibetan UCS Block """
  2875.     ret = libxml2mod.xmlUCSIsTibetan(code)
  2876.     return ret
  2877.  
  2878. def uCSIsUgaritic(code):
  2879.     """Check whether the character is part of Ugaritic UCS Block """
  2880.     ret = libxml2mod.xmlUCSIsUgaritic(code)
  2881.     return ret
  2882.  
  2883. def uCSIsUnifiedCanadianAboriginalSyllabics(code):
  2884.     """Check whether the character is part of
  2885.        UnifiedCanadianAboriginalSyllabics UCS Block """
  2886.     ret = libxml2mod.xmlUCSIsUnifiedCanadianAboriginalSyllabics(code)
  2887.     return ret
  2888.  
  2889. def uCSIsVariationSelectors(code):
  2890.     """Check whether the character is part of VariationSelectors
  2891.        UCS Block """
  2892.     ret = libxml2mod.xmlUCSIsVariationSelectors(code)
  2893.     return ret
  2894.  
  2895. def uCSIsVariationSelectorsSupplement(code):
  2896.     """Check whether the character is part of
  2897.        VariationSelectorsSupplement UCS Block """
  2898.     ret = libxml2mod.xmlUCSIsVariationSelectorsSupplement(code)
  2899.     return ret
  2900.  
  2901. def uCSIsYiRadicals(code):
  2902.     """Check whether the character is part of YiRadicals UCS Block """
  2903.     ret = libxml2mod.xmlUCSIsYiRadicals(code)
  2904.     return ret
  2905.  
  2906. def uCSIsYiSyllables(code):
  2907.     """Check whether the character is part of YiSyllables UCS Block """
  2908.     ret = libxml2mod.xmlUCSIsYiSyllables(code)
  2909.     return ret
  2910.  
  2911. def uCSIsYijingHexagramSymbols(code):
  2912.     """Check whether the character is part of
  2913.        YijingHexagramSymbols UCS Block """
  2914.     ret = libxml2mod.xmlUCSIsYijingHexagramSymbols(code)
  2915.     return ret
  2916.  
  2917. #
  2918. # Functions from module xmlversion
  2919. #
  2920.  
  2921. def checkVersion(version):
  2922.     """check the compiled lib version against the include one.
  2923.        This can warn or immediately kill the application """
  2924.     libxml2mod.xmlCheckVersion(version)
  2925.  
  2926. #
  2927. # Functions from module xpathInternals
  2928. #
  2929.  
  2930. def valuePop(ctxt):
  2931.     """Pops the top XPath object from the value stack """
  2932.     if ctxt is None: ctxt__o = None
  2933.     else: ctxt__o = ctxt._o
  2934.     ret = libxml2mod.valuePop(ctxt__o)
  2935.     return ret
  2936.  
  2937. class xmlNode(xmlCore):
  2938.     def __init__(self, _obj=None):
  2939.         if type(_obj).__name__ != 'PyCObject':
  2940.             raise TypeError, 'xmlNode needs a PyCObject argument'
  2941.         self._o = _obj
  2942.         xmlCore.__init__(self, _obj=_obj)
  2943.  
  2944.     def __repr__(self):
  2945.         return "<xmlNode (%s) object at 0x%x>" % (self.name, long(pos_id (self)))
  2946.  
  2947.     # accessors for xmlNode
  2948.     def ns(self):
  2949.         """Get the namespace of a node """
  2950.         ret = libxml2mod.xmlNodeGetNs(self._o)
  2951.         if ret is None:return None
  2952.         __tmp = xmlNs(_obj=ret)
  2953.         return __tmp
  2954.  
  2955.     def nsDefs(self):
  2956.         """Get the namespace of a node """
  2957.         ret = libxml2mod.xmlNodeGetNsDefs(self._o)
  2958.         if ret is None:return None
  2959.         __tmp = xmlNs(_obj=ret)
  2960.         return __tmp
  2961.  
  2962.     #
  2963.     # xmlNode functions from module debugXML
  2964.     #
  2965.  
  2966.     def debugDumpNode(self, output, depth):
  2967.         """Dumps debug information for the element node, it is
  2968.            recursive """
  2969.         libxml2mod.xmlDebugDumpNode(output, self._o, depth)
  2970.  
  2971.     def debugDumpNodeList(self, output, depth):
  2972.         """Dumps debug information for the list of element node, it is
  2973.            recursive """
  2974.         libxml2mod.xmlDebugDumpNodeList(output, self._o, depth)
  2975.  
  2976.     def debugDumpOneNode(self, output, depth):
  2977.         """Dumps debug information for the element node, it is not
  2978.            recursive """
  2979.         libxml2mod.xmlDebugDumpOneNode(output, self._o, depth)
  2980.  
  2981.     def lsCountNode(self):
  2982.         """Count the children of @node. """
  2983.         ret = libxml2mod.xmlLsCountNode(self._o)
  2984.         return ret
  2985.  
  2986.     def lsOneNode(self, output):
  2987.         """Dump to @output the type and name of @node. """
  2988.         libxml2mod.xmlLsOneNode(output, self._o)
  2989.  
  2990.     def shellPrintNode(self):
  2991.         """Print node to the output FILE """
  2992.         libxml2mod.xmlShellPrintNode(self._o)
  2993.  
  2994.     #
  2995.     # xmlNode functions from module tree
  2996.     #
  2997.  
  2998.     def addChild(self, cur):
  2999.         """Add a new node to @parent, at the end of the child (or
  3000.           property) list merging adjacent TEXT nodes (in which case
  3001.           @cur is freed) If the new node is ATTRIBUTE, it is added
  3002.           into properties instead of children. If there is an
  3003.            attribute with equal name, it is first destroyed. """
  3004.         if cur is None: cur__o = None
  3005.         else: cur__o = cur._o
  3006.         ret = libxml2mod.xmlAddChild(self._o, cur__o)
  3007.         if ret is None:raise treeError('xmlAddChild() failed')
  3008.         __tmp = xmlNode(_obj=ret)
  3009.         return __tmp
  3010.  
  3011.     def addChildList(self, cur):
  3012.         """Add a list of node at the end of the child list of the
  3013.            parent merging adjacent TEXT nodes (@cur may be freed) """
  3014.         if cur is None: cur__o = None
  3015.         else: cur__o = cur._o
  3016.         ret = libxml2mod.xmlAddChildList(self._o, cur__o)
  3017.         if ret is None:raise treeError('xmlAddChildList() failed')
  3018.         __tmp = xmlNode(_obj=ret)
  3019.         return __tmp
  3020.  
  3021.     def addContent(self, content):
  3022.         """Append the extra substring to the node content. NOTE: In
  3023.           contrast to xmlNodeSetContent(), @content is supposed to be
  3024.           raw text, so unescaped XML special chars are allowed,
  3025.            entity references are not supported. """
  3026.         libxml2mod.xmlNodeAddContent(self._o, content)
  3027.  
  3028.     def addContentLen(self, content, len):
  3029.         """Append the extra substring to the node content. NOTE: In
  3030.           contrast to xmlNodeSetContentLen(), @content is supposed to
  3031.           be raw text, so unescaped XML special chars are allowed,
  3032.            entity references are not supported. """
  3033.         libxml2mod.xmlNodeAddContentLen(self._o, content, len)
  3034.  
  3035.     def addNextSibling(self, elem):
  3036.         """Add a new node @elem as the next sibling of @cur If the new
  3037.           node was already inserted in a document it is first
  3038.           unlinked from its existing context. As a result of text
  3039.           merging @elem may be freed. If the new node is ATTRIBUTE,
  3040.           it is added into properties instead of children. If there
  3041.            is an attribute with equal name, it is first destroyed. """
  3042.         if elem is None: elem__o = None
  3043.         else: elem__o = elem._o
  3044.         ret = libxml2mod.xmlAddNextSibling(self._o, elem__o)
  3045.         if ret is None:raise treeError('xmlAddNextSibling() failed')
  3046.         __tmp = xmlNode(_obj=ret)
  3047.         return __tmp
  3048.  
  3049.     def addPrevSibling(self, elem):
  3050.         """Add a new node @elem as the previous sibling of @cur
  3051.           merging adjacent TEXT nodes (@elem may be freed) If the new
  3052.           node was already inserted in a document it is first
  3053.           unlinked from its existing context. If the new node is
  3054.           ATTRIBUTE, it is added into properties instead of children.
  3055.           If there is an attribute with equal name, it is first
  3056.            destroyed. """
  3057.         if elem is None: elem__o = None
  3058.         else: elem__o = elem._o
  3059.         ret = libxml2mod.xmlAddPrevSibling(self._o, elem__o)
  3060.         if ret is None:raise treeError('xmlAddPrevSibling() failed')
  3061.         __tmp = xmlNode(_obj=ret)
  3062.         return __tmp
  3063.  
  3064.     def addSibling(self, elem):
  3065.         """Add a new element @elem to the list of siblings of @cur
  3066.           merging adjacent TEXT nodes (@elem may be freed) If the new
  3067.           element was already inserted in a document it is first
  3068.            unlinked from its existing context. """
  3069.         if elem is None: elem__o = None
  3070.         else: elem__o = elem._o
  3071.         ret = libxml2mod.xmlAddSibling(self._o, elem__o)
  3072.         if ret is None:raise treeError('xmlAddSibling() failed')
  3073.         __tmp = xmlNode(_obj=ret)
  3074.         return __tmp
  3075.  
  3076.     def copyNode(self, extended):
  3077.         """Do a copy of the node. """
  3078.         ret = libxml2mod.xmlCopyNode(self._o, extended)
  3079.         if ret is None:raise treeError('xmlCopyNode() failed')
  3080.         __tmp = xmlNode(_obj=ret)
  3081.         return __tmp
  3082.  
  3083.     def copyNodeList(self):
  3084.         """Do a recursive copy of the node list. Use
  3085.           xmlDocCopyNodeList() if possible to ensure string interning. """
  3086.         ret = libxml2mod.xmlCopyNodeList(self._o)
  3087.         if ret is None:raise treeError('xmlCopyNodeList() failed')
  3088.         __tmp = xmlNode(_obj=ret)
  3089.         return __tmp
  3090.  
  3091.     def copyProp(self, cur):
  3092.         """Do a copy of the attribute. """
  3093.         if cur is None: cur__o = None
  3094.         else: cur__o = cur._o
  3095.         ret = libxml2mod.xmlCopyProp(self._o, cur__o)
  3096.         if ret is None:raise treeError('xmlCopyProp() failed')
  3097.         __tmp = xmlAttr(_obj=ret)
  3098.         return __tmp
  3099.  
  3100.     def copyPropList(self, cur):
  3101.         """Do a copy of an attribute list. """
  3102.         if cur is None: cur__o = None
  3103.         else: cur__o = cur._o
  3104.         ret = libxml2mod.xmlCopyPropList(self._o, cur__o)
  3105.         if ret is None:raise treeError('xmlCopyPropList() failed')
  3106.         __tmp = xmlAttr(_obj=ret)
  3107.         return __tmp
  3108.  
  3109.     def docCopyNode(self, doc, extended):
  3110.         """Do a copy of the node to a given document. """
  3111.         if doc is None: doc__o = None
  3112.         else: doc__o = doc._o
  3113.         ret = libxml2mod.xmlDocCopyNode(self._o, doc__o, extended)
  3114.         if ret is None:raise treeError('xmlDocCopyNode() failed')
  3115.         __tmp = xmlNode(_obj=ret)
  3116.         return __tmp
  3117.  
  3118.     def docCopyNodeList(self, doc):
  3119.         """Do a recursive copy of the node list. """
  3120.         if doc is None: doc__o = None
  3121.         else: doc__o = doc._o
  3122.         ret = libxml2mod.xmlDocCopyNodeList(doc__o, self._o)
  3123.         if ret is None:raise treeError('xmlDocCopyNodeList() failed')
  3124.         __tmp = xmlNode(_obj=ret)
  3125.         return __tmp
  3126.  
  3127.     def docSetRootElement(self, doc):
  3128.         """Set the root element of the document (doc->children is a
  3129.            list containing possibly comments, PIs, etc ...). """
  3130.         if doc is None: doc__o = None
  3131.         else: doc__o = doc._o
  3132.         ret = libxml2mod.xmlDocSetRootElement(doc__o, self._o)
  3133.         if ret is None:return None
  3134.         __tmp = xmlNode(_obj=ret)
  3135.         return __tmp
  3136.  
  3137.     def firstElementChild(self):
  3138.         """Finds the first child node of that element which is a
  3139.           Element node Note the handling of entities references is
  3140.           different than in the W3C DOM element traversal spec since
  3141.           we don't have back reference from entities content to
  3142.            entities references. """
  3143.         ret = libxml2mod.xmlFirstElementChild(self._o)
  3144.         if ret is None:return None
  3145.         __tmp = xmlNode(_obj=ret)
  3146.         return __tmp
  3147.  
  3148.     def freeNode(self):
  3149.         """Free a node, this is a recursive behaviour, all the
  3150.           children are freed too. This doesn't unlink the child from
  3151.            the list, use xmlUnlinkNode() first. """
  3152.         libxml2mod.xmlFreeNode(self._o)
  3153.  
  3154.     def freeNodeList(self):
  3155.         """Free a node and all its siblings, this is a recursive
  3156.            behaviour, all the children are freed too. """
  3157.         libxml2mod.xmlFreeNodeList(self._o)
  3158.  
  3159.     def getBase(self, doc):
  3160.         """Searches for the BASE URL. The code should work on both XML
  3161.           and HTML document even if base mechanisms are completely
  3162.           different. It returns the base as defined in RFC 2396
  3163.           sections 5.1.1. Base URI within Document Content and 5.1.2.
  3164.           Base URI from the Encapsulating Entity However it does not
  3165.           return the document base (5.1.3), use xmlDocumentGetBase()
  3166.            for this """
  3167.         if doc is None: doc__o = None
  3168.         else: doc__o = doc._o
  3169.         ret = libxml2mod.xmlNodeGetBase(doc__o, self._o)
  3170.         return ret
  3171.  
  3172.     def getContent(self):
  3173.         """Read the value of a node, this can be either the text
  3174.           carried directly by this node if it's a TEXT node or the
  3175.           aggregate string of the values carried by this node child's
  3176.            (TEXT and ENTITY_REF). Entity references are substituted. """
  3177.         ret = libxml2mod.xmlNodeGetContent(self._o)
  3178.         return ret
  3179.  
  3180.     def getLang(self):
  3181.         """Searches the language of a node, i.e. the values of the
  3182.           xml:lang attribute or the one carried by the nearest
  3183.            ancestor. """
  3184.         ret = libxml2mod.xmlNodeGetLang(self._o)
  3185.         return ret
  3186.  
  3187.     def getSpacePreserve(self):
  3188.         """Searches the space preserving behaviour of a node, i.e. the
  3189.           values of the xml:space attribute or the one carried by the
  3190.            nearest ancestor. """
  3191.         ret = libxml2mod.xmlNodeGetSpacePreserve(self._o)
  3192.         return ret
  3193.  
  3194.     def hasNsProp(self, name, nameSpace):
  3195.         """Search for an attribute associated to a node This attribute
  3196.           has to be anchored in the namespace specified. This does
  3197.           the entity substitution. This function looks in DTD
  3198.           attribute declaration for #FIXED or default declaration
  3199.           values unless DTD use has been turned off. Note that a
  3200.            namespace of None indicates to use the default namespace. """
  3201.         ret = libxml2mod.xmlHasNsProp(self._o, name, nameSpace)
  3202.         if ret is None:return None
  3203.         __tmp = xmlAttr(_obj=ret)
  3204.         return __tmp
  3205.  
  3206.     def hasProp(self, name):
  3207.         """Search an attribute associated to a node This function also
  3208.           looks in DTD attribute declaration for #FIXED or default
  3209.            declaration values unless DTD use has been turned off. """
  3210.         ret = libxml2mod.xmlHasProp(self._o, name)
  3211.         if ret is None:return None
  3212.         __tmp = xmlAttr(_obj=ret)
  3213.         return __tmp
  3214.  
  3215.     def isBlankNode(self):
  3216.         """Checks whether this node is an empty or whitespace only
  3217.            (and possibly ignorable) text-node. """
  3218.         ret = libxml2mod.xmlIsBlankNode(self._o)
  3219.         return ret
  3220.  
  3221.     def isText(self):
  3222.         """Is this node a Text node ? """
  3223.         ret = libxml2mod.xmlNodeIsText(self._o)
  3224.         return ret
  3225.  
  3226.     def lastChild(self):
  3227.         """Search the last child of a node. """
  3228.         ret = libxml2mod.xmlGetLastChild(self._o)
  3229.         if ret is None:raise treeError('xmlGetLastChild() failed')
  3230.         __tmp = xmlNode(_obj=ret)
  3231.         return __tmp
  3232.  
  3233.     def lastElementChild(self):
  3234.         """Finds the last child node of that element which is a
  3235.           Element node Note the handling of entities references is
  3236.           different than in the W3C DOM element traversal spec since
  3237.           we don't have back reference from entities content to
  3238.            entities references. """
  3239.         ret = libxml2mod.xmlLastElementChild(self._o)
  3240.         if ret is None:return None
  3241.         __tmp = xmlNode(_obj=ret)
  3242.         return __tmp
  3243.  
  3244.     def lineNo(self):
  3245.         """Get line number of @node. This requires activation of this
  3246.           option before invoking the parser by calling
  3247.            xmlLineNumbersDefault(1) """
  3248.         ret = libxml2mod.xmlGetLineNo(self._o)
  3249.         return ret
  3250.  
  3251.     def listGetRawString(self, doc, inLine):
  3252.         """Builds the string equivalent to the text contained in the
  3253.           Node list made of TEXTs and ENTITY_REFs, contrary to
  3254.           xmlNodeListGetString() this function doesn't do any
  3255.            character encoding handling. """
  3256.         if doc is None: doc__o = None
  3257.         else: doc__o = doc._o
  3258.         ret = libxml2mod.xmlNodeListGetRawString(doc__o, self._o, inLine)
  3259.         return ret
  3260.  
  3261.     def listGetString(self, doc, inLine):
  3262.         """Build the string equivalent to the text contained in the
  3263.            Node list made of TEXTs and ENTITY_REFs """
  3264.         if doc is None: doc__o = None
  3265.         else: doc__o = doc._o
  3266.         ret = libxml2mod.xmlNodeListGetString(doc__o, self._o, inLine)
  3267.         return ret
  3268.  
  3269.     def newChild(self, ns, name, content):
  3270.         """Creation of a new child element, added at the end of
  3271.           @parent children list. @ns and @content parameters are
  3272.           optional (None). If @ns is None, the newly created element
  3273.           inherits the namespace of @parent. If @content is non None,
  3274.           a child list containing the TEXTs and ENTITY_REFs node will
  3275.           be created. NOTE: @content is supposed to be a piece of XML
  3276.           CDATA, so it allows entity references. XML special chars
  3277.           must be escaped first by using
  3278.           xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should
  3279.            be used. """
  3280.         if ns is None: ns__o = None
  3281.         else: ns__o = ns._o
  3282.         ret = libxml2mod.xmlNewChild(self._o, ns__o, name, content)
  3283.         if ret is None:raise treeError('xmlNewChild() failed')
  3284.         __tmp = xmlNode(_obj=ret)
  3285.         return __tmp
  3286.  
  3287.     def newNs(self, href, prefix):
  3288.         """Creation of a new Namespace. This function will refuse to
  3289.           create a namespace with a similar prefix than an existing
  3290.           one present on this node. We use href==None in the case of
  3291.            an element creation where the namespace was not defined. """
  3292.         ret = libxml2mod.xmlNewNs(self._o, href, prefix)
  3293.         if ret is None:raise treeError('xmlNewNs() failed')
  3294.         __tmp = xmlNs(_obj=ret)
  3295.         return __tmp
  3296.  
  3297.     def newNsProp(self, ns, name, value):
  3298.         """Create a new property tagged with a namespace and carried
  3299.            by a node. """
  3300.         if ns is None: ns__o = None
  3301.         else: ns__o = ns._o
  3302.         ret = libxml2mod.xmlNewNsProp(self._o, ns__o, name, value)
  3303.         if ret is None:raise treeError('xmlNewNsProp() failed')
  3304.         __tmp = xmlAttr(_obj=ret)
  3305.         return __tmp
  3306.  
  3307.     def newNsPropEatName(self, ns, name, value):
  3308.         """Create a new property tagged with a namespace and carried
  3309.            by a node. """
  3310.         if ns is None: ns__o = None
  3311.         else: ns__o = ns._o
  3312.         ret = libxml2mod.xmlNewNsPropEatName(self._o, ns__o, name, value)
  3313.         if ret is None:raise treeError('xmlNewNsPropEatName() failed')
  3314.         __tmp = xmlAttr(_obj=ret)
  3315.         return __tmp
  3316.  
  3317.     def newProp(self, name, value):
  3318.         """Create a new property carried by a node. """
  3319.         ret = libxml2mod.xmlNewProp(self._o, name, value)
  3320.         if ret is None:raise treeError('xmlNewProp() failed')
  3321.         __tmp = xmlAttr(_obj=ret)
  3322.         return __tmp
  3323.  
  3324.     def newTextChild(self, ns, name, content):
  3325.         """Creation of a new child element, added at the end of
  3326.           @parent children list. @ns and @content parameters are
  3327.           optional (None). If @ns is None, the newly created element
  3328.           inherits the namespace of @parent. If @content is non None,
  3329.           a child TEXT node will be created containing the string
  3330.           @content. NOTE: Use xmlNewChild() if @content will contain
  3331.           entities that need to be preserved. Use this function,
  3332.           xmlNewTextChild(), if you need to ensure that reserved XML
  3333.           chars that might appear in @content, such as the ampersand,
  3334.           greater-than or less-than signs, are automatically replaced
  3335.            by their XML escaped entity representations. """
  3336.         if ns is None: ns__o = None
  3337.         else: ns__o = ns._o
  3338.         ret = libxml2mod.xmlNewTextChild(self._o, ns__o, name, content)
  3339.         if ret is None:raise treeError('xmlNewTextChild() failed')
  3340.         __tmp = xmlNode(_obj=ret)
  3341.         return __tmp
  3342.  
  3343.     def nextElementSibling(self):
  3344.         """Finds the first closest next sibling of the node which is
  3345.           an element node. Note the handling of entities references
  3346.           is different than in the W3C DOM element traversal spec
  3347.           since we don't have back reference from entities content to
  3348.            entities references. """
  3349.         ret = libxml2mod.xmlNextElementSibling(self._o)
  3350.         if ret is None:return None
  3351.         __tmp = xmlNode(_obj=ret)
  3352.         return __tmp
  3353.  
  3354.     def noNsProp(self, name):
  3355.         """Search and get the value of an attribute associated to a
  3356.           node This does the entity substitution. This function looks
  3357.           in DTD attribute declaration for #FIXED or default
  3358.           declaration values unless DTD use has been turned off. This
  3359.           function is similar to xmlGetProp except it will accept
  3360.            only an attribute in no namespace. """
  3361.         ret = libxml2mod.xmlGetNoNsProp(self._o, name)
  3362.         return ret
  3363.  
  3364.     def nodePath(self):
  3365.         """Build a structure based Path for the given node """
  3366.         ret = libxml2mod.xmlGetNodePath(self._o)
  3367.         return ret
  3368.  
  3369.     def nsProp(self, name, nameSpace):
  3370.         """Search and get the value of an attribute associated to a
  3371.           node This attribute has to be anchored in the namespace
  3372.           specified. This does the entity substitution. This function
  3373.           looks in DTD attribute declaration for #FIXED or default
  3374.            declaration values unless DTD use has been turned off. """
  3375.         ret = libxml2mod.xmlGetNsProp(self._o, name, nameSpace)
  3376.         return ret
  3377.  
  3378.     def previousElementSibling(self):
  3379.         """Finds the first closest previous sibling of the node which
  3380.           is an element node. Note the handling of entities
  3381.           references is different than in the W3C DOM element
  3382.           traversal spec since we don't have back reference from
  3383.            entities content to entities references. """
  3384.         ret = libxml2mod.xmlPreviousElementSibling(self._o)
  3385.         if ret is None:return None
  3386.         __tmp = xmlNode(_obj=ret)
  3387.         return __tmp
  3388.  
  3389.     def prop(self, name):
  3390.         """Search and get the value of an attribute associated to a
  3391.           node This does the entity substitution. This function looks
  3392.           in DTD attribute declaration for #FIXED or default
  3393.           declaration values unless DTD use has been turned off.
  3394.           NOTE: this function acts independently of namespaces
  3395.           associated to the attribute. Use xmlGetNsProp() or
  3396.            xmlGetNoNsProp() for namespace aware processing. """
  3397.         ret = libxml2mod.xmlGetProp(self._o, name)
  3398.         return ret
  3399.  
  3400.     def reconciliateNs(self, doc):
  3401.         """This function checks that all the namespaces declared
  3402.           within the given tree are properly declared. This is needed
  3403.           for example after Copy or Cut and then paste operations.
  3404.           The subtree may still hold pointers to namespace
  3405.           declarations outside the subtree or invalid/masked. As much
  3406.           as possible the function try to reuse the existing
  3407.           namespaces found in the new environment. If not possible
  3408.           the new namespaces are redeclared on @tree at the top of
  3409.            the given subtree. """
  3410.         if doc is None: doc__o = None
  3411.         else: doc__o = doc._o
  3412.         ret = libxml2mod.xmlReconciliateNs(doc__o, self._o)
  3413.         return ret
  3414.  
  3415.     def replaceNode(self, cur):
  3416.         """Unlink the old node from its current context, prune the new
  3417.           one at the same place. If @cur was already inserted in a
  3418.            document it is first unlinked from its existing context. """
  3419.         if cur is None: cur__o = None
  3420.         else: cur__o = cur._o
  3421.         ret = libxml2mod.xmlReplaceNode(self._o, cur__o)
  3422.         if ret is None:raise treeError('xmlReplaceNode() failed')
  3423.         __tmp = xmlNode(_obj=ret)
  3424.         return __tmp
  3425.  
  3426.     def searchNs(self, doc, nameSpace):
  3427.         """Search a Ns registered under a given name space for a
  3428.           document. recurse on the parents until it finds the defined
  3429.           namespace or return None otherwise. @nameSpace can be None,
  3430.           this is a search for the default namespace. We don't allow
  3431.           to cross entities boundaries. If you don't declare the
  3432.           namespace within those you will be in troubles !!! A
  3433.            warning is generated to cover this case. """
  3434.         if doc is None: doc__o = None
  3435.         else: doc__o = doc._o
  3436.         ret = libxml2mod.xmlSearchNs(doc__o, self._o, nameSpace)
  3437.         if ret is None:raise treeError('xmlSearchNs() failed')
  3438.         __tmp = xmlNs(_obj=ret)
  3439.         return __tmp
  3440.  
  3441.     def searchNsByHref(self, doc, href):
  3442.         """Search a Ns aliasing a given URI. Recurse on the parents
  3443.           until it finds the defined namespace or return None
  3444.            otherwise. """
  3445.         if doc is None: doc__o = None
  3446.         else: doc__o = doc._o
  3447.         ret = libxml2mod.xmlSearchNsByHref(doc__o, self._o, href)
  3448.         if ret is None:raise treeError('xmlSearchNsByHref() failed')
  3449.         __tmp = xmlNs(_obj=ret)
  3450.         return __tmp
  3451.  
  3452.     def setBase(self, uri):
  3453.         """Set (or reset) the base URI of a node, i.e. the value of
  3454.            the xml:base attribute. """
  3455.         libxml2mod.xmlNodeSetBase(self._o, uri)
  3456.  
  3457.     def setContent(self, content):
  3458.         """Replace the content of a node. NOTE: @content is supposed
  3459.           to be a piece of XML CDATA, so it allows entity references,
  3460.           but XML special chars need to be escaped first by using
  3461.            xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars(). """
  3462.         libxml2mod.xmlNodeSetContent(self._o, content)
  3463.  
  3464.     def setContentLen(self, content, len):
  3465.         """Replace the content of a node. NOTE: @content is supposed
  3466.           to be a piece of XML CDATA, so it allows entity references,
  3467.           but XML special chars need to be escaped first by using
  3468.            xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars(). """
  3469.         libxml2mod.xmlNodeSetContentLen(self._o, content, len)
  3470.  
  3471.     def setLang(self, lang):
  3472.         """Set the language of a node, i.e. the values of the xml:lang
  3473.            attribute. """
  3474.         libxml2mod.xmlNodeSetLang(self._o, lang)
  3475.  
  3476.     def setListDoc(self, doc):
  3477.         """update all nodes in the list to point to the right document """
  3478.         if doc is None: doc__o = None
  3479.         else: doc__o = doc._o
  3480.         libxml2mod.xmlSetListDoc(self._o, doc__o)
  3481.  
  3482.     def setName(self, name):
  3483.         """Set (or reset) the name of a node. """
  3484.         libxml2mod.xmlNodeSetName(self._o, name)
  3485.  
  3486.     def setNs(self, ns):
  3487.         """Associate a namespace to a node, a posteriori. """
  3488.         if ns is None: ns__o = None
  3489.         else: ns__o = ns._o
  3490.         libxml2mod.xmlSetNs(self._o, ns__o)
  3491.  
  3492.     def setNsProp(self, ns, name, value):
  3493.         """Set (or reset) an attribute carried by a node. The ns
  3494.            structure must be in scope, this is not checked """
  3495.         if ns is None: ns__o = None
  3496.         else: ns__o = ns._o
  3497.         ret = libxml2mod.xmlSetNsProp(self._o, ns__o, name, value)
  3498.         if ret is None:raise treeError('xmlSetNsProp() failed')
  3499.         __tmp = xmlAttr(_obj=ret)
  3500.         return __tmp
  3501.  
  3502.     def setProp(self, name, value):
  3503.         """Set (or reset) an attribute carried by a node. If @name has
  3504.           a prefix, then the corresponding namespace-binding will be
  3505.           used, if in scope; it is an error it there's no such
  3506.            ns-binding for the prefix in scope. """
  3507.         ret = libxml2mod.xmlSetProp(self._o, name, value)
  3508.         if ret is None:raise treeError('xmlSetProp() failed')
  3509.         __tmp = xmlAttr(_obj=ret)
  3510.         return __tmp
  3511.  
  3512.     def setSpacePreserve(self, val):
  3513.         """Set (or reset) the space preserving behaviour of a node,
  3514.            i.e. the value of the xml:space attribute. """
  3515.         libxml2mod.xmlNodeSetSpacePreserve(self._o, val)
  3516.  
  3517.     def setTreeDoc(self, doc):
  3518.         """update all nodes under the tree to point to the right
  3519.            document """
  3520.         if doc is None: doc__o = None
  3521.         else: doc__o = doc._o
  3522.         libxml2mod.xmlSetTreeDoc(self._o, doc__o)
  3523.  
  3524.     def textConcat(self, content, len):
  3525.         """Concat the given string at the end of the existing node
  3526.            content """
  3527.         ret = libxml2mod.xmlTextConcat(self._o, content, len)
  3528.         return ret
  3529.  
  3530.     def textMerge(self, second):
  3531.         """Merge two text nodes into one """
  3532.         if second is None: second__o = None
  3533.         else: second__o = second._o
  3534.         ret = libxml2mod.xmlTextMerge(self._o, second__o)
  3535.         if ret is None:raise treeError('xmlTextMerge() failed')
  3536.         __tmp = xmlNode(_obj=ret)
  3537.         return __tmp
  3538.  
  3539.     def unlinkNode(self):
  3540.         """Unlink a node from it's current context, the node is not
  3541.            freed """
  3542.         libxml2mod.xmlUnlinkNode(self._o)
  3543.  
  3544.     def unsetNsProp(self, ns, name):
  3545.         """Remove an attribute carried by a node. """
  3546.         if ns is None: ns__o = None
  3547.         else: ns__o = ns._o
  3548.         ret = libxml2mod.xmlUnsetNsProp(self._o, ns__o, name)
  3549.         return ret
  3550.  
  3551.     def unsetProp(self, name):
  3552.         """Remove an attribute carried by a node. This handles only
  3553.            attributes in no namespace. """
  3554.         ret = libxml2mod.xmlUnsetProp(self._o, name)
  3555.         return ret
  3556.  
  3557.     #
  3558.     # xmlNode functions from module valid
  3559.     #
  3560.  
  3561.     def isID(self, doc, attr):
  3562.         """Determine whether an attribute is of type ID. In case we
  3563.           have DTD(s) then this is done if DTD loading has been
  3564.           requested. In the case of HTML documents parsed with the
  3565.            HTML parser, then ID detection is done systematically. """
  3566.         if doc is None: doc__o = None
  3567.         else: doc__o = doc._o
  3568.         if attr is None: attr__o = None
  3569.         else: attr__o = attr._o
  3570.         ret = libxml2mod.xmlIsID(doc__o, self._o, attr__o)
  3571.         return ret
  3572.  
  3573.     def isRef(self, doc, attr):
  3574.         """Determine whether an attribute is of type Ref. In case we
  3575.           have DTD(s) then this is simple, otherwise we use an
  3576.            heuristic: name Ref (upper or lowercase). """
  3577.         if doc is None: doc__o = None
  3578.         else: doc__o = doc._o
  3579.         if attr is None: attr__o = None
  3580.         else: attr__o = attr._o
  3581.         ret = libxml2mod.xmlIsRef(doc__o, self._o, attr__o)
  3582.         return ret
  3583.  
  3584.     def validNormalizeAttributeValue(self, doc, name, value):
  3585.         """Does the validation related extra step of the normalization
  3586.           of attribute values:  If the declared value is not CDATA,
  3587.           then the XML processor must further process the normalized
  3588.           attribute value by discarding any leading and trailing
  3589.           space (#x20) characters, and by replacing sequences of
  3590.            space (#x20) characters by single space (#x20) character. """
  3591.         if doc is None: doc__o = None
  3592.         else: doc__o = doc._o
  3593.         ret = libxml2mod.xmlValidNormalizeAttributeValue(doc__o, self._o, name, value)
  3594.         return ret
  3595.  
  3596.     #
  3597.     # xmlNode functions from module xinclude
  3598.     #
  3599.  
  3600.     def xincludeProcessTree(self):
  3601.         """Implement the XInclude substitution for the given subtree """
  3602.         ret = libxml2mod.xmlXIncludeProcessTree(self._o)
  3603.         return ret
  3604.  
  3605.     def xincludeProcessTreeFlags(self, flags):
  3606.         """Implement the XInclude substitution for the given subtree """
  3607.         ret = libxml2mod.xmlXIncludeProcessTreeFlags(self._o, flags)
  3608.         return ret
  3609.  
  3610.     #
  3611.     # xmlNode functions from module xmlschemas
  3612.     #
  3613.  
  3614.     def schemaValidateOneElement(self, ctxt):
  3615.         """Validate a branch of a tree, starting with the given @elem. """
  3616.         if ctxt is None: ctxt__o = None
  3617.         else: ctxt__o = ctxt._o
  3618.         ret = libxml2mod.xmlSchemaValidateOneElement(ctxt__o, self._o)
  3619.         return ret
  3620.  
  3621.     #
  3622.     # xmlNode functions from module xpath
  3623.     #
  3624.  
  3625.     def xpathCastNodeToNumber(self):
  3626.         """Converts a node to its number value """
  3627.         ret = libxml2mod.xmlXPathCastNodeToNumber(self._o)
  3628.         return ret
  3629.  
  3630.     def xpathCastNodeToString(self):
  3631.         """Converts a node to its string value. """
  3632.         ret = libxml2mod.xmlXPathCastNodeToString(self._o)
  3633.         return ret
  3634.  
  3635.     def xpathCmpNodes(self, node2):
  3636.         """Compare two nodes w.r.t document order """
  3637.         if node2 is None: node2__o = None
  3638.         else: node2__o = node2._o
  3639.         ret = libxml2mod.xmlXPathCmpNodes(self._o, node2__o)
  3640.         return ret
  3641.  
  3642.     #
  3643.     # xmlNode functions from module xpathInternals
  3644.     #
  3645.  
  3646.     def xpathNewNodeSet(self):
  3647.         """Create a new xmlXPathObjectPtr of type NodeSet and
  3648.            initialize it with the single Node @val """
  3649.         ret = libxml2mod.xmlXPathNewNodeSet(self._o)
  3650.         if ret is None:raise xpathError('xmlXPathNewNodeSet() failed')
  3651.         return xpathObjectRet(ret)
  3652.  
  3653.     def xpathNewValueTree(self):
  3654.         """Create a new xmlXPathObjectPtr of type Value Tree (XSLT)
  3655.            and initialize it with the tree root @val """
  3656.         ret = libxml2mod.xmlXPathNewValueTree(self._o)
  3657.         if ret is None:raise xpathError('xmlXPathNewValueTree() failed')
  3658.         return xpathObjectRet(ret)
  3659.  
  3660.     def xpathNextAncestor(self, ctxt):
  3661.         """Traversal function for the "ancestor" direction the
  3662.           ancestor axis contains the ancestors of the context node;
  3663.           the ancestors of the context node consist of the parent of
  3664.           context node and the parent's parent and so on; the nodes
  3665.           are ordered in reverse document order; thus the parent is
  3666.           the first node on the axis, and the parent's parent is the
  3667.            second node on the axis """
  3668.         if ctxt is None: ctxt__o = None
  3669.         else: ctxt__o = ctxt._o
  3670.         ret = libxml2mod.xmlXPathNextAncestor(ctxt__o, self._o)
  3671.         if ret is None:raise xpathError('xmlXPathNextAncestor() failed')
  3672.         __tmp = xmlNode(_obj=ret)
  3673.         return __tmp
  3674.  
  3675.     def xpathNextAncestorOrSelf(self, ctxt):
  3676.         """Traversal function for the "ancestor-or-self" direction he
  3677.           ancestor-or-self axis contains the context node and
  3678.           ancestors of the context node in reverse document order;
  3679.           thus the context node is the first node on the axis, and
  3680.           the context node's parent the second; parent here is
  3681.            defined the same as with the parent axis. """
  3682.         if ctxt is None: ctxt__o = None
  3683.         else: ctxt__o = ctxt._o
  3684.         ret = libxml2mod.xmlXPathNextAncestorOrSelf(ctxt__o, self._o)
  3685.         if ret is None:raise xpathError('xmlXPathNextAncestorOrSelf() failed')
  3686.         __tmp = xmlNode(_obj=ret)
  3687.         return __tmp
  3688.  
  3689.     def xpathNextAttribute(self, ctxt):
  3690.         """Traversal function for the "attribute" direction TODO:
  3691.            support DTD inherited default attributes """
  3692.         if ctxt is None: ctxt__o = None
  3693.         else: ctxt__o = ctxt._o
  3694.         ret = libxml2mod.xmlXPathNextAttribute(ctxt__o, self._o)
  3695.         if ret is None:raise xpathError('xmlXPathNextAttribute() failed')
  3696.         __tmp = xmlNode(_obj=ret)
  3697.         return __tmp
  3698.  
  3699.     def xpathNextChild(self, ctxt):
  3700.         """Traversal function for the "child" direction The child axis
  3701.           contains the children of the context node in document order. """
  3702.         if ctxt is None: ctxt__o = None
  3703.         else: ctxt__o = ctxt._o
  3704.         ret = libxml2mod.xmlXPathNextChild(ctxt__o, self._o)
  3705.         if ret is None:raise xpathError('xmlXPathNextChild() failed')
  3706.         __tmp = xmlNode(_obj=ret)
  3707.         return __tmp
  3708.  
  3709.     def xpathNextDescendant(self, ctxt):
  3710.         """Traversal function for the "descendant" direction the
  3711.           descendant axis contains the descendants of the context
  3712.           node in document order; a descendant is a child or a child
  3713.            of a child and so on. """
  3714.         if ctxt is None: ctxt__o = None
  3715.         else: ctxt__o = ctxt._o
  3716.         ret = libxml2mod.xmlXPathNextDescendant(ctxt__o, self._o)
  3717.         if ret is None:raise xpathError('xmlXPathNextDescendant() failed')
  3718.         __tmp = xmlNode(_obj=ret)
  3719.         return __tmp
  3720.  
  3721.     def xpathNextDescendantOrSelf(self, ctxt):
  3722.         """Traversal function for the "descendant-or-self" direction
  3723.           the descendant-or-self axis contains the context node and
  3724.           the descendants of the context node in document order; thus
  3725.           the context node is the first node on the axis, and the
  3726.           first child of the context node is the second node on the
  3727.            axis """
  3728.         if ctxt is None: ctxt__o = None
  3729.         else: ctxt__o = ctxt._o
  3730.         ret = libxml2mod.xmlXPathNextDescendantOrSelf(ctxt__o, self._o)
  3731.         if ret is None:raise xpathError('xmlXPathNextDescendantOrSelf() failed')
  3732.         __tmp = xmlNode(_obj=ret)
  3733.         return __tmp
  3734.  
  3735.     def xpathNextFollowing(self, ctxt):
  3736.         """Traversal function for the "following" direction The
  3737.           following axis contains all nodes in the same document as
  3738.           the context node that are after the context node in
  3739.           document order, excluding any descendants and excluding
  3740.           attribute nodes and namespace nodes; the nodes are ordered
  3741.            in document order """
  3742.         if ctxt is None: ctxt__o = None
  3743.         else: ctxt__o = ctxt._o
  3744.         ret = libxml2mod.xmlXPathNextFollowing(ctxt__o, self._o)
  3745.         if ret is None:raise xpathError('xmlXPathNextFollowing() failed')
  3746.         __tmp = xmlNode(_obj=ret)
  3747.         return __tmp
  3748.  
  3749.     def xpathNextFollowingSibling(self, ctxt):
  3750.         """Traversal function for the "following-sibling" direction
  3751.           The following-sibling axis contains the following siblings
  3752.            of the context node in document order. """
  3753.         if ctxt is None: ctxt__o = None
  3754.         else: ctxt__o = ctxt._o
  3755.         ret = libxml2mod.xmlXPathNextFollowingSibling(ctxt__o, self._o)
  3756.         if ret is None:raise xpathError('xmlXPathNextFollowingSibling() failed')
  3757.         __tmp = xmlNode(_obj=ret)
  3758.         return __tmp
  3759.  
  3760.     def xpathNextNamespace(self, ctxt):
  3761.         """Traversal function for the "namespace" direction the
  3762.           namespace axis contains the namespace nodes of the context
  3763.           node; the order of nodes on this axis is
  3764.           implementation-defined; the axis will be empty unless the
  3765.           context node is an element  We keep the XML namespace node
  3766.            at the end of the list. """
  3767.         if ctxt is None: ctxt__o = None
  3768.         else: ctxt__o = ctxt._o
  3769.         ret = libxml2mod.xmlXPathNextNamespace(ctxt__o, self._o)
  3770.         if ret is None:raise xpathError('xmlXPathNextNamespace() failed')
  3771.         __tmp = xmlNode(_obj=ret)
  3772.         return __tmp
  3773.  
  3774.     def xpathNextParent(self, ctxt):
  3775.         """Traversal function for the "parent" direction The parent
  3776.           axis contains the parent of the context node, if there is
  3777.            one. """
  3778.         if ctxt is None: ctxt__o = None
  3779.         else: ctxt__o = ctxt._o
  3780.         ret = libxml2mod.xmlXPathNextParent(ctxt__o, self._o)
  3781.         if ret is None:raise xpathError('xmlXPathNextParent() failed')
  3782.         __tmp = xmlNode(_obj=ret)
  3783.         return __tmp
  3784.  
  3785.     def xpathNextPreceding(self, ctxt):
  3786.         """Traversal function for the "preceding" direction the
  3787.           preceding axis contains all nodes in the same document as
  3788.           the context node that are before the context node in
  3789.           document order, excluding any ancestors and excluding
  3790.           attribute nodes and namespace nodes; the nodes are ordered
  3791.            in reverse document order """
  3792.         if ctxt is None: ctxt__o = None
  3793.         else: ctxt__o = ctxt._o
  3794.         ret = libxml2mod.xmlXPathNextPreceding(ctxt__o, self._o)
  3795.         if ret is None:raise xpathError('xmlXPathNextPreceding() failed')
  3796.         __tmp = xmlNode(_obj=ret)
  3797.         return __tmp
  3798.  
  3799.     def xpathNextPrecedingSibling(self, ctxt):
  3800.         """Traversal function for the "preceding-sibling" direction
  3801.           The preceding-sibling axis contains the preceding siblings
  3802.           of the context node in reverse document order; the first
  3803.           preceding sibling is first on the axis; the sibling
  3804.            preceding that node is the second on the axis and so on. """
  3805.         if ctxt is None: ctxt__o = None
  3806.         else: ctxt__o = ctxt._o
  3807.         ret = libxml2mod.xmlXPathNextPrecedingSibling(ctxt__o, self._o)
  3808.         if ret is None:raise xpathError('xmlXPathNextPrecedingSibling() failed')
  3809.         __tmp = xmlNode(_obj=ret)
  3810.         return __tmp
  3811.  
  3812.     def xpathNextSelf(self, ctxt):
  3813.         """Traversal function for the "self" direction The self axis
  3814.            contains just the context node itself """
  3815.         if ctxt is None: ctxt__o = None
  3816.         else: ctxt__o = ctxt._o
  3817.         ret = libxml2mod.xmlXPathNextSelf(ctxt__o, self._o)
  3818.         if ret is None:raise xpathError('xmlXPathNextSelf() failed')
  3819.         __tmp = xmlNode(_obj=ret)
  3820.         return __tmp
  3821.  
  3822.     #
  3823.     # xmlNode functions from module xpointer
  3824.     #
  3825.  
  3826.     def xpointerNewCollapsedRange(self):
  3827.         """Create a new xmlXPathObjectPtr of type range using a single
  3828.            nodes """
  3829.         ret = libxml2mod.xmlXPtrNewCollapsedRange(self._o)
  3830.         if ret is None:raise treeError('xmlXPtrNewCollapsedRange() failed')
  3831.         return xpathObjectRet(ret)
  3832.  
  3833.     def xpointerNewContext(self, doc, origin):
  3834.         """Create a new XPointer context """
  3835.         if doc is None: doc__o = None
  3836.         else: doc__o = doc._o
  3837.         if origin is None: origin__o = None
  3838.         else: origin__o = origin._o
  3839.         ret = libxml2mod.xmlXPtrNewContext(doc__o, self._o, origin__o)
  3840.         if ret is None:raise treeError('xmlXPtrNewContext() failed')
  3841.         __tmp = xpathContext(_obj=ret)
  3842.         return __tmp
  3843.  
  3844.     def xpointerNewLocationSetNodes(self, end):
  3845.         """Create a new xmlXPathObjectPtr of type LocationSet and
  3846.           initialize it with the single range made of the two nodes
  3847.            @start and @end """
  3848.         if end is None: end__o = None
  3849.         else: end__o = end._o
  3850.         ret = libxml2mod.xmlXPtrNewLocationSetNodes(self._o, end__o)
  3851.         if ret is None:raise treeError('xmlXPtrNewLocationSetNodes() failed')
  3852.         return xpathObjectRet(ret)
  3853.  
  3854.     def xpointerNewRange(self, startindex, end, endindex):
  3855.         """Create a new xmlXPathObjectPtr of type range """
  3856.         if end is None: end__o = None
  3857.         else: end__o = end._o
  3858.         ret = libxml2mod.xmlXPtrNewRange(self._o, startindex, end__o, endindex)
  3859.         if ret is None:raise treeError('xmlXPtrNewRange() failed')
  3860.         return xpathObjectRet(ret)
  3861.  
  3862.     def xpointerNewRangeNodes(self, end):
  3863.         """Create a new xmlXPathObjectPtr of type range using 2 nodes """
  3864.         if end is None: end__o = None
  3865.         else: end__o = end._o
  3866.         ret = libxml2mod.xmlXPtrNewRangeNodes(self._o, end__o)
  3867.         if ret is None:raise treeError('xmlXPtrNewRangeNodes() failed')
  3868.         return xpathObjectRet(ret)
  3869.  
  3870. class xmlDoc(xmlNode):
  3871.     def __init__(self, _obj=None):
  3872.         if type(_obj).__name__ != 'PyCObject':
  3873.             raise TypeError, 'xmlDoc needs a PyCObject argument'
  3874.         self._o = _obj
  3875.         xmlNode.__init__(self, _obj=_obj)
  3876.  
  3877.     def __repr__(self):
  3878.         return "<xmlDoc (%s) object at 0x%x>" % (self.name, long(pos_id (self)))
  3879.  
  3880.     #
  3881.     # xmlDoc functions from module HTMLparser
  3882.     #
  3883.  
  3884.     def htmlAutoCloseTag(self, name, elem):
  3885.         """The HTML DTD allows a tag to implicitly close other tags.
  3886.           The list is kept in htmlStartClose array. This function
  3887.           checks if the element or one of it's children would
  3888.            autoclose the given tag. """
  3889.         ret = libxml2mod.htmlAutoCloseTag(self._o, name, elem)
  3890.         return ret
  3891.  
  3892.     def htmlIsAutoClosed(self, elem):
  3893.         """The HTML DTD allows a tag to implicitly close other tags.
  3894.           The list is kept in htmlStartClose array. This function
  3895.            checks if a tag is autoclosed by one of it's child """
  3896.         ret = libxml2mod.htmlIsAutoClosed(self._o, elem)
  3897.         return ret
  3898.  
  3899.     #
  3900.     # xmlDoc functions from module HTMLtree
  3901.     #
  3902.  
  3903.     def htmlDocContentDumpFormatOutput(self, buf, encoding, format):
  3904.         """Dump an HTML document. """
  3905.         if buf is None: buf__o = None
  3906.         else: buf__o = buf._o
  3907.         libxml2mod.htmlDocContentDumpFormatOutput(buf__o, self._o, encoding, format)
  3908.  
  3909.     def htmlDocContentDumpOutput(self, buf, encoding):
  3910.         """Dump an HTML document. Formating return/spaces are added. """
  3911.         if buf is None: buf__o = None
  3912.         else: buf__o = buf._o
  3913.         libxml2mod.htmlDocContentDumpOutput(buf__o, self._o, encoding)
  3914.  
  3915.     def htmlDocDump(self, f):
  3916.         """Dump an HTML document to an open FILE. """
  3917.         ret = libxml2mod.htmlDocDump(f, self._o)
  3918.         return ret
  3919.  
  3920.     def htmlGetMetaEncoding(self):
  3921.         """Encoding definition lookup in the Meta tags """
  3922.         ret = libxml2mod.htmlGetMetaEncoding(self._o)
  3923.         return ret
  3924.  
  3925.     def htmlNodeDumpFile(self, out, cur):
  3926.         """Dump an HTML node, recursive behaviour,children are printed
  3927.            too, and formatting returns are added. """
  3928.         if cur is None: cur__o = None
  3929.         else: cur__o = cur._o
  3930.         libxml2mod.htmlNodeDumpFile(out, self._o, cur__o)
  3931.  
  3932.     def htmlNodeDumpFileFormat(self, out, cur, encoding, format):
  3933.         """Dump an HTML node, recursive behaviour,children are printed
  3934.           too.  TODO: if encoding == None try to save in the doc
  3935.            encoding """
  3936.         if cur is None: cur__o = None
  3937.         else: cur__o = cur._o
  3938.         ret = libxml2mod.htmlNodeDumpFileFormat(out, self._o, cur__o, encoding, format)
  3939.         return ret
  3940.  
  3941.     def htmlNodeDumpFormatOutput(self, buf, cur, encoding, format):
  3942.         """Dump an HTML node, recursive behaviour,children are printed
  3943.            too. """
  3944.         if buf is None: buf__o = None
  3945.         else: buf__o = buf._o
  3946.         if cur is None: cur__o = None
  3947.         else: cur__o = cur._o
  3948.         libxml2mod.htmlNodeDumpFormatOutput(buf__o, self._o, cur__o, encoding, format)
  3949.  
  3950.     def htmlNodeDumpOutput(self, buf, cur, encoding):
  3951.         """Dump an HTML node, recursive behaviour,children are printed
  3952.            too, and formatting returns/spaces are added. """
  3953.         if buf is None: buf__o = None
  3954.         else: buf__o = buf._o
  3955.         if cur is None: cur__o = None
  3956.         else: cur__o = cur._o
  3957.         libxml2mod.htmlNodeDumpOutput(buf__o, self._o, cur__o, encoding)
  3958.  
  3959.     def htmlSaveFile(self, filename):
  3960.         """Dump an HTML document to a file. If @filename is "-" the
  3961.            stdout file is used. """
  3962.         ret = libxml2mod.htmlSaveFile(filename, self._o)
  3963.         return ret
  3964.  
  3965.     def htmlSaveFileEnc(self, filename, encoding):
  3966.         """Dump an HTML document to a file using a given encoding and
  3967.            formatting returns/spaces are added. """
  3968.         ret = libxml2mod.htmlSaveFileEnc(filename, self._o, encoding)
  3969.         return ret
  3970.  
  3971.     def htmlSaveFileFormat(self, filename, encoding, format):
  3972.         """Dump an HTML document to a file using a given encoding. """
  3973.         ret = libxml2mod.htmlSaveFileFormat(filename, self._o, encoding, format)
  3974.         return ret
  3975.  
  3976.     def htmlSetMetaEncoding(self, encoding):
  3977.         """Sets the current encoding in the Meta tags NOTE: this will
  3978.           not change the document content encoding, just the META
  3979.            flag associated. """
  3980.         ret = libxml2mod.htmlSetMetaEncoding(self._o, encoding)
  3981.         return ret
  3982.  
  3983.     #
  3984.     # xmlDoc functions from module debugXML
  3985.     #
  3986.  
  3987.     def debugCheckDocument(self, output):
  3988.         """Check the document for potential content problems, and
  3989.            output the errors to @output """
  3990.         ret = libxml2mod.xmlDebugCheckDocument(output, self._o)
  3991.         return ret
  3992.  
  3993.     def debugDumpDocument(self, output):
  3994.         """Dumps debug information for the document, it's recursive """
  3995.         libxml2mod.xmlDebugDumpDocument(output, self._o)
  3996.  
  3997.     def debugDumpDocumentHead(self, output):
  3998.         """Dumps debug information cncerning the document, not
  3999.            recursive """
  4000.         libxml2mod.xmlDebugDumpDocumentHead(output, self._o)
  4001.  
  4002.     def debugDumpEntities(self, output):
  4003.         """Dumps debug information for all the entities in use by the
  4004.            document """
  4005.         libxml2mod.xmlDebugDumpEntities(output, self._o)
  4006.  
  4007.     #
  4008.     # xmlDoc functions from module entities
  4009.     #
  4010.  
  4011.     def addDocEntity(self, name, type, ExternalID, SystemID, content):
  4012.         """Register a new entity for this document. """
  4013.         ret = libxml2mod.xmlAddDocEntity(self._o, name, type, ExternalID, SystemID, content)
  4014.         if ret is None:raise treeError('xmlAddDocEntity() failed')
  4015.         __tmp = xmlEntity(_obj=ret)
  4016.         return __tmp
  4017.  
  4018.     def addDtdEntity(self, name, type, ExternalID, SystemID, content):
  4019.         """Register a new entity for this document DTD external subset. """
  4020.         ret = libxml2mod.xmlAddDtdEntity(self._o, name, type, ExternalID, SystemID, content)
  4021.         if ret is None:raise treeError('xmlAddDtdEntity() failed')
  4022.         __tmp = xmlEntity(_obj=ret)
  4023.         return __tmp
  4024.  
  4025.     def docEntity(self, name):
  4026.         """Do an entity lookup in the document entity hash table and """
  4027.         ret = libxml2mod.xmlGetDocEntity(self._o, name)
  4028.         if ret is None:raise treeError('xmlGetDocEntity() failed')
  4029.         __tmp = xmlEntity(_obj=ret)
  4030.         return __tmp
  4031.  
  4032.     def dtdEntity(self, name):
  4033.         """Do an entity lookup in the DTD entity hash table and """
  4034.         ret = libxml2mod.xmlGetDtdEntity(self._o, name)
  4035.         if ret is None:raise treeError('xmlGetDtdEntity() failed')
  4036.         __tmp = xmlEntity(_obj=ret)
  4037.         return __tmp
  4038.  
  4039.     def encodeEntities(self, input):
  4040.         """TODO: remove xmlEncodeEntities, once we are not afraid of
  4041.           breaking binary compatibility  People must migrate their
  4042.           code to xmlEncodeEntitiesReentrant ! This routine will
  4043.            issue a warning when encountered. """
  4044.         ret = libxml2mod.xmlEncodeEntities(self._o, input)
  4045.         return ret
  4046.  
  4047.     def encodeEntitiesReentrant(self, input):
  4048.         """Do a global encoding of a string, replacing the predefined
  4049.           entities and non ASCII values with their entities and
  4050.           CharRef counterparts. Contrary to xmlEncodeEntities, this
  4051.            routine is reentrant, and result must be deallocated. """
  4052.         ret = libxml2mod.xmlEncodeEntitiesReentrant(self._o, input)
  4053.         return ret
  4054.  
  4055.     def encodeSpecialChars(self, input):
  4056.         """Do a global encoding of a string, replacing the predefined
  4057.           entities this routine is reentrant, and result must be
  4058.            deallocated. """
  4059.         ret = libxml2mod.xmlEncodeSpecialChars(self._o, input)
  4060.         return ret
  4061.  
  4062.     def newEntity(self, name, type, ExternalID, SystemID, content):
  4063.         """Create a new entity, this differs from xmlAddDocEntity()
  4064.           that if the document is None or has no internal subset
  4065.           defined, then an unlinked entity structure will be
  4066.           returned, it is then the responsability of the caller to
  4067.           link it to the document later or free it when not needed
  4068.            anymore. """
  4069.         ret = libxml2mod.xmlNewEntity(self._o, name, type, ExternalID, SystemID, content)
  4070.         if ret is None:raise treeError('xmlNewEntity() failed')
  4071.         __tmp = xmlEntity(_obj=ret)
  4072.         return __tmp
  4073.  
  4074.     def parameterEntity(self, name):
  4075.         """Do an entity lookup in the internal and external subsets and """
  4076.         ret = libxml2mod.xmlGetParameterEntity(self._o, name)
  4077.         if ret is None:raise treeError('xmlGetParameterEntity() failed')
  4078.         __tmp = xmlEntity(_obj=ret)
  4079.         return __tmp
  4080.  
  4081.     #
  4082.     # xmlDoc functions from module relaxng
  4083.     #
  4084.  
  4085.     def relaxNGNewDocParserCtxt(self):
  4086.         """Create an XML RelaxNGs parser context for that document.
  4087.           Note: since the process of compiling a RelaxNG schemas
  4088.           modifies the document, the @doc parameter is duplicated
  4089.            internally. """
  4090.         ret = libxml2mod.xmlRelaxNGNewDocParserCtxt(self._o)
  4091.         if ret is None:raise parserError('xmlRelaxNGNewDocParserCtxt() failed')
  4092.         __tmp = relaxNgParserCtxt(_obj=ret)
  4093.         return __tmp
  4094.  
  4095.     def relaxNGValidateDoc(self, ctxt):
  4096.         """Validate a document tree in memory. """
  4097.         if ctxt is None: ctxt__o = None
  4098.         else: ctxt__o = ctxt._o
  4099.         ret = libxml2mod.xmlRelaxNGValidateDoc(ctxt__o, self._o)
  4100.         return ret
  4101.  
  4102.     def relaxNGValidateFullElement(self, ctxt, elem):
  4103.         """Validate a full subtree when
  4104.           xmlRelaxNGValidatePushElement() returned 0 and the content
  4105.            of the node has been expanded. """
  4106.         if ctxt is None: ctxt__o = None
  4107.         else: ctxt__o = ctxt._o
  4108.         if elem is None: elem__o = None
  4109.         else: elem__o = elem._o
  4110.         ret = libxml2mod.xmlRelaxNGValidateFullElement(ctxt__o, self._o, elem__o)
  4111.         return ret
  4112.  
  4113.     def relaxNGValidatePopElement(self, ctxt, elem):
  4114.         """Pop the element end from the RelaxNG validation stack. """
  4115.         if ctxt is None: ctxt__o = None
  4116.         else: ctxt__o = ctxt._o
  4117.         if elem is None: elem__o = None
  4118.         else: elem__o = elem._o
  4119.         ret = libxml2mod.xmlRelaxNGValidatePopElement(ctxt__o, self._o, elem__o)
  4120.         return ret
  4121.  
  4122.     def relaxNGValidatePushElement(self, ctxt, elem):
  4123.         """Push a new element start on the RelaxNG validation stack. """
  4124.         if ctxt is None: ctxt__o = None
  4125.         else: ctxt__o = ctxt._o
  4126.         if elem is None: elem__o = None
  4127.         else: elem__o = elem._o
  4128.         ret = libxml2mod.xmlRelaxNGValidatePushElement(ctxt__o, self._o, elem__o)
  4129.         return ret
  4130.  
  4131.     #
  4132.     # xmlDoc functions from module tree
  4133.     #
  4134.  
  4135.     def copyDoc(self, recursive):
  4136.         """Do a copy of the document info. If recursive, the content
  4137.           tree will be copied too as well as DTD, namespaces and
  4138.            entities. """
  4139.         ret = libxml2mod.xmlCopyDoc(self._o, recursive)
  4140.         if ret is None:raise treeError('xmlCopyDoc() failed')
  4141.         __tmp = xmlDoc(_obj=ret)
  4142.         return __tmp
  4143.  
  4144.     def copyNode(self, node, extended):
  4145.         """Do a copy of the node to a given document. """
  4146.         if node is None: node__o = None
  4147.         else: node__o = node._o
  4148.         ret = libxml2mod.xmlDocCopyNode(node__o, self._o, extended)
  4149.         if ret is None:raise treeError('xmlDocCopyNode() failed')
  4150.         __tmp = xmlNode(_obj=ret)
  4151.         return __tmp
  4152.  
  4153.     def copyNodeList(self, node):
  4154.         """Do a recursive copy of the node list. """
  4155.         if node is None: node__o = None
  4156.         else: node__o = node._o
  4157.         ret = libxml2mod.xmlDocCopyNodeList(self._o, node__o)
  4158.         if ret is None:raise treeError('xmlDocCopyNodeList() failed')
  4159.         __tmp = xmlNode(_obj=ret)
  4160.         return __tmp
  4161.  
  4162.     def createIntSubset(self, name, ExternalID, SystemID):
  4163.         """Create the internal subset of a document """
  4164.         ret = libxml2mod.xmlCreateIntSubset(self._o, name, ExternalID, SystemID)
  4165.         if ret is None:raise treeError('xmlCreateIntSubset() failed')
  4166.         __tmp = xmlDtd(_obj=ret)
  4167.         return __tmp
  4168.  
  4169.     def docCompressMode(self):
  4170.         """get the compression ratio for a document, ZLIB based """
  4171.         ret = libxml2mod.xmlGetDocCompressMode(self._o)
  4172.         return ret
  4173.  
  4174.     def dump(self, f):
  4175.         """Dump an XML document to an open FILE. """
  4176.         ret = libxml2mod.xmlDocDump(f, self._o)
  4177.         return ret
  4178.  
  4179.     def elemDump(self, f, cur):
  4180.         """Dump an XML/HTML node, recursive behaviour, children are
  4181.            printed too. """
  4182.         if cur is None: cur__o = None
  4183.         else: cur__o = cur._o
  4184.         libxml2mod.xmlElemDump(f, self._o, cur__o)
  4185.  
  4186.     def formatDump(self, f, format):
  4187.         """Dump an XML document to an open FILE. """
  4188.         ret = libxml2mod.xmlDocFormatDump(f, self._o, format)
  4189.         return ret
  4190.  
  4191.     def freeDoc(self):
  4192.         """Free up all the structures used by a document, tree
  4193.            included. """
  4194.         libxml2mod.xmlFreeDoc(self._o)
  4195.  
  4196.     def getRootElement(self):
  4197.         """Get the root element of the document (doc->children is a
  4198.            list containing possibly comments, PIs, etc ...). """
  4199.         ret = libxml2mod.xmlDocGetRootElement(self._o)
  4200.         if ret is None:raise treeError('xmlDocGetRootElement() failed')
  4201.         __tmp = xmlNode(_obj=ret)
  4202.         return __tmp
  4203.  
  4204.     def intSubset(self):
  4205.         """Get the internal subset of a document """
  4206.         ret = libxml2mod.xmlGetIntSubset(self._o)
  4207.         if ret is None:raise treeError('xmlGetIntSubset() failed')
  4208.         __tmp = xmlDtd(_obj=ret)
  4209.         return __tmp
  4210.  
  4211.     def newCDataBlock(self, content, len):
  4212.         """Creation of a new node containing a CDATA block. """
  4213.         ret = libxml2mod.xmlNewCDataBlock(self._o, content, len)
  4214.         if ret is None:raise treeError('xmlNewCDataBlock() failed')
  4215.         __tmp = xmlNode(_obj=ret)
  4216.         return __tmp
  4217.  
  4218.     def newCharRef(self, name):
  4219.         """Creation of a new character reference node. """
  4220.         ret = libxml2mod.xmlNewCharRef(self._o, name)
  4221.         if ret is None:raise treeError('xmlNewCharRef() failed')
  4222.         __tmp = xmlNode(_obj=ret)
  4223.         return __tmp
  4224.  
  4225.     def newDocComment(self, content):
  4226.         """Creation of a new node containing a comment within a
  4227.            document. """
  4228.         ret = libxml2mod.xmlNewDocComment(self._o, content)
  4229.         if ret is None:raise treeError('xmlNewDocComment() failed')
  4230.         __tmp = xmlNode(_obj=ret)
  4231.         return __tmp
  4232.  
  4233.     def newDocFragment(self):
  4234.         """Creation of a new Fragment node. """
  4235.         ret = libxml2mod.xmlNewDocFragment(self._o)
  4236.         if ret is None:raise treeError('xmlNewDocFragment() failed')
  4237.         __tmp = xmlNode(_obj=ret)
  4238.         return __tmp
  4239.  
  4240.     def newDocNode(self, ns, name, content):
  4241.         """Creation of a new node element within a document. @ns and
  4242.           @content are optional (None). NOTE: @content is supposed to
  4243.           be a piece of XML CDATA, so it allow entities references,
  4244.           but XML special chars need to be escaped first by using
  4245.           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
  4246.            don't need entities support. """
  4247.         if ns is None: ns__o = None
  4248.         else: ns__o = ns._o
  4249.         ret = libxml2mod.xmlNewDocNode(self._o, ns__o, name, content)
  4250.         if ret is None:raise treeError('xmlNewDocNode() failed')
  4251.         __tmp = xmlNode(_obj=ret)
  4252.         return __tmp
  4253.  
  4254.     def newDocNodeEatName(self, ns, name, content):
  4255.         """Creation of a new node element within a document. @ns and
  4256.           @content are optional (None). NOTE: @content is supposed to
  4257.           be a piece of XML CDATA, so it allow entities references,
  4258.           but XML special chars need to be escaped first by using
  4259.           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
  4260.            don't need entities support. """
  4261.         if ns is None: ns__o = None
  4262.         else: ns__o = ns._o
  4263.         ret = libxml2mod.xmlNewDocNodeEatName(self._o, ns__o, name, content)
  4264.         if ret is None:raise treeError('xmlNewDocNodeEatName() failed')
  4265.         __tmp = xmlNode(_obj=ret)
  4266.         return __tmp
  4267.  
  4268.     def newDocPI(self, name, content):
  4269.         """Creation of a processing instruction element. """
  4270.         ret = libxml2mod.xmlNewDocPI(self._o, name, content)
  4271.         if ret is None:raise treeError('xmlNewDocPI() failed')
  4272.         __tmp = xmlNode(_obj=ret)
  4273.         return __tmp
  4274.  
  4275.     def newDocProp(self, name, value):
  4276.         """Create a new property carried by a document. """
  4277.         ret = libxml2mod.xmlNewDocProp(self._o, name, value)
  4278.         if ret is None:raise treeError('xmlNewDocProp() failed')
  4279.         __tmp = xmlAttr(_obj=ret)
  4280.         return __tmp
  4281.  
  4282.     def newDocRawNode(self, ns, name, content):
  4283.         """Creation of a new node element within a document. @ns and
  4284.            @content are optional (None). """
  4285.         if ns is None: ns__o = None
  4286.         else: ns__o = ns._o
  4287.         ret = libxml2mod.xmlNewDocRawNode(self._o, ns__o, name, content)
  4288.         if ret is None:raise treeError('xmlNewDocRawNode() failed')
  4289.         __tmp = xmlNode(_obj=ret)
  4290.         return __tmp
  4291.  
  4292.     def newDocText(self, content):
  4293.         """Creation of a new text node within a document. """
  4294.         ret = libxml2mod.xmlNewDocText(self._o, content)
  4295.         if ret is None:raise treeError('xmlNewDocText() failed')
  4296.         __tmp = xmlNode(_obj=ret)
  4297.         return __tmp
  4298.  
  4299.     def newDocTextLen(self, content, len):
  4300.         """Creation of a new text node with an extra content length
  4301.            parameter. The text node pertain to a given document. """
  4302.         ret = libxml2mod.xmlNewDocTextLen(self._o, content, len)
  4303.         if ret is None:raise treeError('xmlNewDocTextLen() failed')
  4304.         __tmp = xmlNode(_obj=ret)
  4305.         return __tmp
  4306.  
  4307.     def newDtd(self, name, ExternalID, SystemID):
  4308.         """Creation of a new DTD for the external subset. To create an
  4309.            internal subset, use xmlCreateIntSubset(). """
  4310.         ret = libxml2mod.xmlNewDtd(self._o, name, ExternalID, SystemID)
  4311.         if ret is None:raise treeError('xmlNewDtd() failed')
  4312.         __tmp = xmlDtd(_obj=ret)
  4313.         return __tmp
  4314.  
  4315.     def newGlobalNs(self, href, prefix):
  4316.         """Creation of a Namespace, the old way using PI and without
  4317.            scoping DEPRECATED !!! """
  4318.         ret = libxml2mod.xmlNewGlobalNs(self._o, href, prefix)
  4319.         if ret is None:raise treeError('xmlNewGlobalNs() failed')
  4320.         __tmp = xmlNs(_obj=ret)
  4321.         return __tmp
  4322.  
  4323.     def newReference(self, name):
  4324.         """Creation of a new reference node. """
  4325.         ret = libxml2mod.xmlNewReference(self._o, name)
  4326.         if ret is None:raise treeError('xmlNewReference() failed')
  4327.         __tmp = xmlNode(_obj=ret)
  4328.         return __tmp
  4329.  
  4330.     def nodeDumpOutput(self, buf, cur, level, format, encoding):
  4331.         """Dump an XML node, recursive behaviour, children are printed
  4332.           too. Note that @format = 1 provide node indenting only if
  4333.           xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was
  4334.            called """
  4335.         if buf is None: buf__o = None
  4336.         else: buf__o = buf._o
  4337.         if cur is None: cur__o = None
  4338.         else: cur__o = cur._o
  4339.         libxml2mod.xmlNodeDumpOutput(buf__o, self._o, cur__o, level, format, encoding)
  4340.  
  4341.     def nodeGetBase(self, cur):
  4342.         """Searches for the BASE URL. The code should work on both XML
  4343.           and HTML document even if base mechanisms are completely
  4344.           different. It returns the base as defined in RFC 2396
  4345.           sections 5.1.1. Base URI within Document Content and 5.1.2.
  4346.           Base URI from the Encapsulating Entity However it does not
  4347.           return the document base (5.1.3), use xmlDocumentGetBase()
  4348.            for this """
  4349.         if cur is None: cur__o = None
  4350.         else: cur__o = cur._o
  4351.         ret = libxml2mod.xmlNodeGetBase(self._o, cur__o)
  4352.         return ret
  4353.  
  4354.     def nodeListGetRawString(self, list, inLine):
  4355.         """Builds the string equivalent to the text contained in the
  4356.           Node list made of TEXTs and ENTITY_REFs, contrary to
  4357.           xmlNodeListGetString() this function doesn't do any
  4358.            character encoding handling. """
  4359.         if list is None: list__o = None
  4360.         else: list__o = list._o
  4361.         ret = libxml2mod.xmlNodeListGetRawString(self._o, list__o, inLine)
  4362.         return ret
  4363.  
  4364.     def nodeListGetString(self, list, inLine):
  4365.         """Build the string equivalent to the text contained in the
  4366.            Node list made of TEXTs and ENTITY_REFs """
  4367.         if list is None: list__o = None
  4368.         else: list__o = list._o
  4369.         ret = libxml2mod.xmlNodeListGetString(self._o, list__o, inLine)
  4370.         return ret
  4371.  
  4372.     def reconciliateNs(self, tree):
  4373.         """This function checks that all the namespaces declared
  4374.           within the given tree are properly declared. This is needed
  4375.           for example after Copy or Cut and then paste operations.
  4376.           The subtree may still hold pointers to namespace
  4377.           declarations outside the subtree or invalid/masked. As much
  4378.           as possible the function try to reuse the existing
  4379.           namespaces found in the new environment. If not possible
  4380.           the new namespaces are redeclared on @tree at the top of
  4381.            the given subtree. """
  4382.         if tree is None: tree__o = None
  4383.         else: tree__o = tree._o
  4384.         ret = libxml2mod.xmlReconciliateNs(self._o, tree__o)
  4385.         return ret
  4386.  
  4387.     def saveFile(self, filename):
  4388.         """Dump an XML document to a file. Will use compression if
  4389.           compiled in and enabled. If @filename is "-" the stdout
  4390.            file is used. """
  4391.         ret = libxml2mod.xmlSaveFile(filename, self._o)
  4392.         return ret
  4393.  
  4394.     def saveFileEnc(self, filename, encoding):
  4395.         """Dump an XML document, converting it to the given encoding """
  4396.         ret = libxml2mod.xmlSaveFileEnc(filename, self._o, encoding)
  4397.         return ret
  4398.  
  4399.     def saveFileTo(self, buf, encoding):
  4400.         """Dump an XML document to an I/O buffer. Warning ! This call
  4401.           xmlOutputBufferClose() on buf which is not available after
  4402.            this call. """
  4403.         if buf is None: buf__o = None
  4404.         else: buf__o = buf._o
  4405.         ret = libxml2mod.xmlSaveFileTo(buf__o, self._o, encoding)
  4406.         return ret
  4407.  
  4408.     def saveFormatFile(self, filename, format):
  4409.         """Dump an XML document to a file. Will use compression if
  4410.           compiled in and enabled. If @filename is "-" the stdout
  4411.           file is used. If @format is set then the document will be
  4412.           indented on output. Note that @format = 1 provide node
  4413.           indenting only if xmlIndentTreeOutput = 1 or
  4414.            xmlKeepBlanksDefault(0) was called """
  4415.         ret = libxml2mod.xmlSaveFormatFile(filename, self._o, format)
  4416.         return ret
  4417.  
  4418.     def saveFormatFileEnc(self, filename, encoding, format):
  4419.         """Dump an XML document to a file or an URL. """
  4420.         ret = libxml2mod.xmlSaveFormatFileEnc(filename, self._o, encoding, format)
  4421.         return ret
  4422.  
  4423.     def saveFormatFileTo(self, buf, encoding, format):
  4424.         """Dump an XML document to an I/O buffer. Warning ! This call
  4425.           xmlOutputBufferClose() on buf which is not available after
  4426.            this call. """
  4427.         if buf is None: buf__o = None
  4428.         else: buf__o = buf._o
  4429.         ret = libxml2mod.xmlSaveFormatFileTo(buf__o, self._o, encoding, format)
  4430.         return ret
  4431.  
  4432.     def searchNs(self, node, nameSpace):
  4433.         """Search a Ns registered under a given name space for a
  4434.           document. recurse on the parents until it finds the defined
  4435.           namespace or return None otherwise. @nameSpace can be None,
  4436.           this is a search for the default namespace. We don't allow
  4437.           to cross entities boundaries. If you don't declare the
  4438.           namespace within those you will be in troubles !!! A
  4439.            warning is generated to cover this case. """
  4440.         if node is None: node__o = None
  4441.         else: node__o = node._o
  4442.         ret = libxml2mod.xmlSearchNs(self._o, node__o, nameSpace)
  4443.         if ret is None:raise treeError('xmlSearchNs() failed')
  4444.         __tmp = xmlNs(_obj=ret)
  4445.         return __tmp
  4446.  
  4447.     def searchNsByHref(self, node, href):
  4448.         """Search a Ns aliasing a given URI. Recurse on the parents
  4449.           until it finds the defined namespace or return None
  4450.            otherwise. """
  4451.         if node is None: node__o = None
  4452.         else: node__o = node._o
  4453.         ret = libxml2mod.xmlSearchNsByHref(self._o, node__o, href)
  4454.         if ret is None:raise treeError('xmlSearchNsByHref() failed')
  4455.         __tmp = xmlNs(_obj=ret)
  4456.         return __tmp
  4457.  
  4458.     def setDocCompressMode(self, mode):
  4459.         """set the compression ratio for a document, ZLIB based
  4460.            Correct values: 0 (uncompressed) to 9 (max compression) """
  4461.         libxml2mod.xmlSetDocCompressMode(self._o, mode)
  4462.  
  4463.     def setListDoc(self, list):
  4464.         """update all nodes in the list to point to the right document """
  4465.         if list is None: list__o = None
  4466.         else: list__o = list._o
  4467.         libxml2mod.xmlSetListDoc(list__o, self._o)
  4468.  
  4469.     def setRootElement(self, root):
  4470.         """Set the root element of the document (doc->children is a
  4471.            list containing possibly comments, PIs, etc ...). """
  4472.         if root is None: root__o = None
  4473.         else: root__o = root._o
  4474.         ret = libxml2mod.xmlDocSetRootElement(self._o, root__o)
  4475.         if ret is None:return None
  4476.         __tmp = xmlNode(_obj=ret)
  4477.         return __tmp
  4478.  
  4479.     def setTreeDoc(self, tree):
  4480.         """update all nodes under the tree to point to the right
  4481.            document """
  4482.         if tree is None: tree__o = None
  4483.         else: tree__o = tree._o
  4484.         libxml2mod.xmlSetTreeDoc(tree__o, self._o)
  4485.  
  4486.     def stringGetNodeList(self, value):
  4487.         """Parse the value string and build the node list associated.
  4488.            Should produce a flat tree with only TEXTs and ENTITY_REFs. """
  4489.         ret = libxml2mod.xmlStringGetNodeList(self._o, value)
  4490.         if ret is None:raise treeError('xmlStringGetNodeList() failed')
  4491.         __tmp = xmlNode(_obj=ret)
  4492.         return __tmp
  4493.  
  4494.     def stringLenGetNodeList(self, value, len):
  4495.         """Parse the value string and build the node list associated.
  4496.            Should produce a flat tree with only TEXTs and ENTITY_REFs. """
  4497.         ret = libxml2mod.xmlStringLenGetNodeList(self._o, value, len)
  4498.         if ret is None:raise treeError('xmlStringLenGetNodeList() failed')
  4499.         __tmp = xmlNode(_obj=ret)
  4500.         return __tmp
  4501.  
  4502.     #
  4503.     # xmlDoc functions from module valid
  4504.     #
  4505.  
  4506.     def ID(self, ID):
  4507.         """Search the attribute declaring the given ID """
  4508.         ret = libxml2mod.xmlGetID(self._o, ID)
  4509.         if ret is None:raise treeError('xmlGetID() failed')
  4510.         __tmp = xmlAttr(_obj=ret)
  4511.         return __tmp
  4512.  
  4513.     def isID(self, elem, attr):
  4514.         """Determine whether an attribute is of type ID. In case we
  4515.           have DTD(s) then this is done if DTD loading has been
  4516.           requested. In the case of HTML documents parsed with the
  4517.            HTML parser, then ID detection is done systematically. """
  4518.         if elem is None: elem__o = None
  4519.         else: elem__o = elem._o
  4520.         if attr is None: attr__o = None
  4521.         else: attr__o = attr._o
  4522.         ret = libxml2mod.xmlIsID(self._o, elem__o, attr__o)
  4523.         return ret
  4524.  
  4525.     def isMixedElement(self, name):
  4526.         """Search in the DtDs whether an element accept Mixed content
  4527.            (or ANY) basically if it is supposed to accept text childs """
  4528.         ret = libxml2mod.xmlIsMixedElement(self._o, name)
  4529.         return ret
  4530.  
  4531.     def isRef(self, elem, attr):
  4532.         """Determine whether an attribute is of type Ref. In case we
  4533.           have DTD(s) then this is simple, otherwise we use an
  4534.            heuristic: name Ref (upper or lowercase). """
  4535.         if elem is None: elem__o = None
  4536.         else: elem__o = elem._o
  4537.         if attr is None: attr__o = None
  4538.         else: attr__o = attr._o
  4539.         ret = libxml2mod.xmlIsRef(self._o, elem__o, attr__o)
  4540.         return ret
  4541.  
  4542.     def removeID(self, attr):
  4543.         """Remove the given attribute from the ID table maintained
  4544.            internally. """
  4545.         if attr is None: attr__o = None
  4546.         else: attr__o = attr._o
  4547.         ret = libxml2mod.xmlRemoveID(self._o, attr__o)
  4548.         return ret
  4549.  
  4550.     def removeRef(self, attr):
  4551.         """Remove the given attribute from the Ref table maintained
  4552.            internally. """
  4553.         if attr is None: attr__o = None
  4554.         else: attr__o = attr._o
  4555.         ret = libxml2mod.xmlRemoveRef(self._o, attr__o)
  4556.         return ret
  4557.  
  4558.     def validCtxtNormalizeAttributeValue(self, ctxt, elem, name, value):
  4559.         """Does the validation related extra step of the normalization
  4560.           of attribute values:  If the declared value is not CDATA,
  4561.           then the XML processor must further process the normalized
  4562.           attribute value by discarding any leading and trailing
  4563.           space (#x20) characters, and by replacing sequences of
  4564.           space (#x20) characters by single space (#x20) character. 
  4565.           Also  check VC: Standalone Document Declaration in P32, and
  4566.            update ctxt->valid accordingly """
  4567.         if ctxt is None: ctxt__o = None
  4568.         else: ctxt__o = ctxt._o
  4569.         if elem is None: elem__o = None
  4570.         else: elem__o = elem._o
  4571.         ret = libxml2mod.xmlValidCtxtNormalizeAttributeValue(ctxt__o, self._o, elem__o, name, value)
  4572.         return ret
  4573.  
  4574.     def validNormalizeAttributeValue(self, elem, name, value):
  4575.         """Does the validation related extra step of the normalization
  4576.           of attribute values:  If the declared value is not CDATA,
  4577.           then the XML processor must further process the normalized
  4578.           attribute value by discarding any leading and trailing
  4579.           space (#x20) characters, and by replacing sequences of
  4580.            space (#x20) characters by single space (#x20) character. """
  4581.         if elem is None: elem__o = None
  4582.         else: elem__o = elem._o
  4583.         ret = libxml2mod.xmlValidNormalizeAttributeValue(self._o, elem__o, name, value)
  4584.         return ret
  4585.  
  4586.     def validateDocument(self, ctxt):
  4587.         """Try to validate the document instance  basically it does
  4588.           the all the checks described by the XML Rec i.e. validates
  4589.           the internal and external subset (if present) and validate
  4590.            the document tree. """
  4591.         if ctxt is None: ctxt__o = None
  4592.         else: ctxt__o = ctxt._o
  4593.         ret = libxml2mod.xmlValidateDocument(ctxt__o, self._o)
  4594.         return ret
  4595.  
  4596.     def validateDocumentFinal(self, ctxt):
  4597.         """Does the final step for the document validation once all
  4598.           the incremental validation steps have been completed 
  4599.           basically it does the following checks described by the XML
  4600.           Rec  Check all the IDREF/IDREFS attributes definition for
  4601.            validity """
  4602.         if ctxt is None: ctxt__o = None
  4603.         else: ctxt__o = ctxt._o
  4604.         ret = libxml2mod.xmlValidateDocumentFinal(ctxt__o, self._o)
  4605.         return ret
  4606.  
  4607.     def validateDtd(self, ctxt, dtd):
  4608.         """Try to validate the document against the dtd instance 
  4609.           Basically it does check all the definitions in the DtD.
  4610.           Note the the internal subset (if present) is de-coupled
  4611.           (i.e. not used), which could give problems if ID or IDREF
  4612.            is present. """
  4613.         if ctxt is None: ctxt__o = None
  4614.         else: ctxt__o = ctxt._o
  4615.         if dtd is None: dtd__o = None
  4616.         else: dtd__o = dtd._o
  4617.         ret = libxml2mod.xmlValidateDtd(ctxt__o, self._o, dtd__o)
  4618.         return ret
  4619.  
  4620.     def validateDtdFinal(self, ctxt):
  4621.         """Does the final step for the dtds validation once all the
  4622.           subsets have been parsed  basically it does the following
  4623.           checks described by the XML Rec - check that ENTITY and
  4624.           ENTITIES type attributes default or possible values matches
  4625.           one of the defined entities. - check that NOTATION type
  4626.           attributes default or possible values matches one of the
  4627.            defined notations. """
  4628.         if ctxt is None: ctxt__o = None
  4629.         else: ctxt__o = ctxt._o
  4630.         ret = libxml2mod.xmlValidateDtdFinal(ctxt__o, self._o)
  4631.         return ret
  4632.  
  4633.     def validateElement(self, ctxt, elem):
  4634.         """Try to validate the subtree under an element """
  4635.         if ctxt is None: ctxt__o = None
  4636.         else: ctxt__o = ctxt._o
  4637.         if elem is None: elem__o = None
  4638.         else: elem__o = elem._o
  4639.         ret = libxml2mod.xmlValidateElement(ctxt__o, self._o, elem__o)
  4640.         return ret
  4641.  
  4642.     def validateNotationUse(self, ctxt, notationName):
  4643.         """Validate that the given name match a notation declaration.
  4644.            - [ VC: Notation Declared ] """
  4645.         if ctxt is None: ctxt__o = None
  4646.         else: ctxt__o = ctxt._o
  4647.         ret = libxml2mod.xmlValidateNotationUse(ctxt__o, self._o, notationName)
  4648.         return ret
  4649.  
  4650.     def validateOneAttribute(self, ctxt, elem, attr, value):
  4651.         """Try to validate a single attribute for an element basically
  4652.           it does the following checks as described by the XML-1.0
  4653.           recommendation: - [ VC: Attribute Value Type ] - [ VC:
  4654.           Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC:
  4655.           Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity
  4656.           Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  4657.            uniqueness and matching are done separately """
  4658.         if ctxt is None: ctxt__o = None
  4659.         else: ctxt__o = ctxt._o
  4660.         if elem is None: elem__o = None
  4661.         else: elem__o = elem._o
  4662.         if attr is None: attr__o = None
  4663.         else: attr__o = attr._o
  4664.         ret = libxml2mod.xmlValidateOneAttribute(ctxt__o, self._o, elem__o, attr__o, value)
  4665.         return ret
  4666.  
  4667.     def validateOneElement(self, ctxt, elem):
  4668.         """Try to validate a single element and it's attributes,
  4669.           basically it does the following checks as described by the
  4670.           XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC:
  4671.           Required Attribute ] Then call xmlValidateOneAttribute()
  4672.           for each attribute present.  The ID/IDREF checkings are
  4673.            done separately """
  4674.         if ctxt is None: ctxt__o = None
  4675.         else: ctxt__o = ctxt._o
  4676.         if elem is None: elem__o = None
  4677.         else: elem__o = elem._o
  4678.         ret = libxml2mod.xmlValidateOneElement(ctxt__o, self._o, elem__o)
  4679.         return ret
  4680.  
  4681.     def validateOneNamespace(self, ctxt, elem, prefix, ns, value):
  4682.         """Try to validate a single namespace declaration for an
  4683.           element basically it does the following checks as described
  4684.           by the XML-1.0 recommendation: - [ VC: Attribute Value Type
  4685.           ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] -
  4686.           [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC:
  4687.           Entity Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  4688.            uniqueness and matching are done separately """
  4689.         if ctxt is None: ctxt__o = None
  4690.         else: ctxt__o = ctxt._o
  4691.         if elem is None: elem__o = None
  4692.         else: elem__o = elem._o
  4693.         if ns is None: ns__o = None
  4694.         else: ns__o = ns._o
  4695.         ret = libxml2mod.xmlValidateOneNamespace(ctxt__o, self._o, elem__o, prefix, ns__o, value)
  4696.         return ret
  4697.  
  4698.     def validatePopElement(self, ctxt, elem, qname):
  4699.         """Pop the element end from the validation stack. """
  4700.         if ctxt is None: ctxt__o = None
  4701.         else: ctxt__o = ctxt._o
  4702.         if elem is None: elem__o = None
  4703.         else: elem__o = elem._o
  4704.         ret = libxml2mod.xmlValidatePopElement(ctxt__o, self._o, elem__o, qname)
  4705.         return ret
  4706.  
  4707.     def validatePushElement(self, ctxt, elem, qname):
  4708.         """Push a new element start on the validation stack. """
  4709.         if ctxt is None: ctxt__o = None
  4710.         else: ctxt__o = ctxt._o
  4711.         if elem is None: elem__o = None
  4712.         else: elem__o = elem._o
  4713.         ret = libxml2mod.xmlValidatePushElement(ctxt__o, self._o, elem__o, qname)
  4714.         return ret
  4715.  
  4716.     def validateRoot(self, ctxt):
  4717.         """Try to validate a the root element basically it does the
  4718.           following check as described by the XML-1.0 recommendation:
  4719.           - [ VC: Root Element Type ] it doesn't try to recurse or
  4720.            apply other check to the element """
  4721.         if ctxt is None: ctxt__o = None
  4722.         else: ctxt__o = ctxt._o
  4723.         ret = libxml2mod.xmlValidateRoot(ctxt__o, self._o)
  4724.         return ret
  4725.  
  4726.     #
  4727.     # xmlDoc functions from module xinclude
  4728.     #
  4729.  
  4730.     def xincludeProcess(self):
  4731.         """Implement the XInclude substitution on the XML document @doc """
  4732.         ret = libxml2mod.xmlXIncludeProcess(self._o)
  4733.         return ret
  4734.  
  4735.     def xincludeProcessFlags(self, flags):
  4736.         """Implement the XInclude substitution on the XML document @doc """
  4737.         ret = libxml2mod.xmlXIncludeProcessFlags(self._o, flags)
  4738.         return ret
  4739.  
  4740.     #
  4741.     # xmlDoc functions from module xmlreader
  4742.     #
  4743.  
  4744.     def NewWalker(self, reader):
  4745.         """Setup an xmltextReader to parse a preparsed XML document.
  4746.            This reuses the existing @reader xmlTextReader. """
  4747.         if reader is None: reader__o = None
  4748.         else: reader__o = reader._o
  4749.         ret = libxml2mod.xmlReaderNewWalker(reader__o, self._o)
  4750.         return ret
  4751.  
  4752.     def readerWalker(self):
  4753.         """Create an xmltextReader for a preparsed document. """
  4754.         ret = libxml2mod.xmlReaderWalker(self._o)
  4755.         if ret is None:raise treeError('xmlReaderWalker() failed')
  4756.         __tmp = xmlTextReader(_obj=ret)
  4757.         return __tmp
  4758.  
  4759.     #
  4760.     # xmlDoc functions from module xmlschemas
  4761.     #
  4762.  
  4763.     def schemaNewDocParserCtxt(self):
  4764.         """Create an XML Schemas parse context for that document. NB.
  4765.            The document may be modified during the parsing process. """
  4766.         ret = libxml2mod.xmlSchemaNewDocParserCtxt(self._o)
  4767.         if ret is None:raise parserError('xmlSchemaNewDocParserCtxt() failed')
  4768.         __tmp = SchemaParserCtxt(_obj=ret)
  4769.         return __tmp
  4770.  
  4771.     def schemaValidateDoc(self, ctxt):
  4772.         """Validate a document tree in memory. """
  4773.         if ctxt is None: ctxt__o = None
  4774.         else: ctxt__o = ctxt._o
  4775.         ret = libxml2mod.xmlSchemaValidateDoc(ctxt__o, self._o)
  4776.         return ret
  4777.  
  4778.     #
  4779.     # xmlDoc functions from module xpath
  4780.     #
  4781.  
  4782.     def xpathNewContext(self):
  4783.         """Create a new xmlXPathContext """
  4784.         ret = libxml2mod.xmlXPathNewContext(self._o)
  4785.         if ret is None:raise xpathError('xmlXPathNewContext() failed')
  4786.         __tmp = xpathContext(_obj=ret)
  4787.         return __tmp
  4788.  
  4789.     def xpathOrderDocElems(self):
  4790.         """Call this routine to speed up XPath computation on static
  4791.           documents. This stamps all the element nodes with the
  4792.           document order Like for line information, the order is kept
  4793.           in the element->content field, the value stored is actually
  4794.           - the node number (starting at -1) to be able to
  4795.            differentiate from line numbers. """
  4796.         ret = libxml2mod.xmlXPathOrderDocElems(self._o)
  4797.         return ret
  4798.  
  4799.     #
  4800.     # xmlDoc functions from module xpointer
  4801.     #
  4802.  
  4803.     def xpointerNewContext(self, here, origin):
  4804.         """Create a new XPointer context """
  4805.         if here is None: here__o = None
  4806.         else: here__o = here._o
  4807.         if origin is None: origin__o = None
  4808.         else: origin__o = origin._o
  4809.         ret = libxml2mod.xmlXPtrNewContext(self._o, here__o, origin__o)
  4810.         if ret is None:raise treeError('xmlXPtrNewContext() failed')
  4811.         __tmp = xpathContext(_obj=ret)
  4812.         return __tmp
  4813.  
  4814. class xmlAttr(xmlNode):
  4815.     def __init__(self, _obj=None):
  4816.         if type(_obj).__name__ != 'PyCObject':
  4817.             raise TypeError, 'xmlAttr needs a PyCObject argument'
  4818.         self._o = _obj
  4819.         xmlNode.__init__(self, _obj=_obj)
  4820.  
  4821.     def __repr__(self):
  4822.         return "<xmlAttr (%s) object at 0x%x>" % (self.name, long(pos_id (self)))
  4823.  
  4824.     #
  4825.     # xmlAttr functions from module debugXML
  4826.     #
  4827.  
  4828.     def debugDumpAttr(self, output, depth):
  4829.         """Dumps debug information for the attribute """
  4830.         libxml2mod.xmlDebugDumpAttr(output, self._o, depth)
  4831.  
  4832.     def debugDumpAttrList(self, output, depth):
  4833.         """Dumps debug information for the attribute list """
  4834.         libxml2mod.xmlDebugDumpAttrList(output, self._o, depth)
  4835.  
  4836.     #
  4837.     # xmlAttr functions from module tree
  4838.     #
  4839.  
  4840.     def copyProp(self, target):
  4841.         """Do a copy of the attribute. """
  4842.         if target is None: target__o = None
  4843.         else: target__o = target._o
  4844.         ret = libxml2mod.xmlCopyProp(target__o, self._o)
  4845.         if ret is None:raise treeError('xmlCopyProp() failed')
  4846.         __tmp = xmlAttr(_obj=ret)
  4847.         return __tmp
  4848.  
  4849.     def copyPropList(self, target):
  4850.         """Do a copy of an attribute list. """
  4851.         if target is None: target__o = None
  4852.         else: target__o = target._o
  4853.         ret = libxml2mod.xmlCopyPropList(target__o, self._o)
  4854.         if ret is None:raise treeError('xmlCopyPropList() failed')
  4855.         __tmp = xmlAttr(_obj=ret)
  4856.         return __tmp
  4857.  
  4858.     def freeProp(self):
  4859.         """Free one attribute, all the content is freed too """
  4860.         libxml2mod.xmlFreeProp(self._o)
  4861.  
  4862.     def freePropList(self):
  4863.         """Free a property and all its siblings, all the children are
  4864.            freed too. """
  4865.         libxml2mod.xmlFreePropList(self._o)
  4866.  
  4867.     def removeProp(self):
  4868.         """Unlink and free one attribute, all the content is freed too
  4869.            Note this doesn't work for namespace definition attributes """
  4870.         ret = libxml2mod.xmlRemoveProp(self._o)
  4871.         return ret
  4872.  
  4873.     #
  4874.     # xmlAttr functions from module valid
  4875.     #
  4876.  
  4877.     def removeID(self, doc):
  4878.         """Remove the given attribute from the ID table maintained
  4879.            internally. """
  4880.         if doc is None: doc__o = None
  4881.         else: doc__o = doc._o
  4882.         ret = libxml2mod.xmlRemoveID(doc__o, self._o)
  4883.         return ret
  4884.  
  4885.     def removeRef(self, doc):
  4886.         """Remove the given attribute from the Ref table maintained
  4887.            internally. """
  4888.         if doc is None: doc__o = None
  4889.         else: doc__o = doc._o
  4890.         ret = libxml2mod.xmlRemoveRef(doc__o, self._o)
  4891.         return ret
  4892.  
  4893. class xmlReg:
  4894.     def __init__(self, _obj=None):
  4895.         if _obj != None:self._o = _obj;return
  4896.         self._o = None
  4897.  
  4898.     def __del__(self):
  4899.         if self._o != None:
  4900.             libxml2mod.xmlRegFreeRegexp(self._o)
  4901.         self._o = None
  4902.  
  4903.     #
  4904.     # xmlReg functions from module xmlregexp
  4905.     #
  4906.  
  4907.     def regexpExec(self, content):
  4908.         """Check if the regular expression generates the value """
  4909.         ret = libxml2mod.xmlRegexpExec(self._o, content)
  4910.         return ret
  4911.  
  4912.     def regexpIsDeterminist(self):
  4913.         """Check if the regular expression is determinist """
  4914.         ret = libxml2mod.xmlRegexpIsDeterminist(self._o)
  4915.         return ret
  4916.  
  4917.     def regexpPrint(self, output):
  4918.         """Print the content of the compiled regular expression """
  4919.         libxml2mod.xmlRegexpPrint(output, self._o)
  4920.  
  4921. class relaxNgValidCtxt(relaxNgValidCtxtCore):
  4922.     def __init__(self, _obj=None):
  4923.         self.schema = None
  4924.         self._o = _obj
  4925.         relaxNgValidCtxtCore.__init__(self, _obj=_obj)
  4926.  
  4927.     def __del__(self):
  4928.         if self._o != None:
  4929.             libxml2mod.xmlRelaxNGFreeValidCtxt(self._o)
  4930.         self._o = None
  4931.  
  4932.     #
  4933.     # relaxNgValidCtxt functions from module relaxng
  4934.     #
  4935.  
  4936.     def relaxNGValidateDoc(self, doc):
  4937.         """Validate a document tree in memory. """
  4938.         if doc is None: doc__o = None
  4939.         else: doc__o = doc._o
  4940.         ret = libxml2mod.xmlRelaxNGValidateDoc(self._o, doc__o)
  4941.         return ret
  4942.  
  4943.     def relaxNGValidateFullElement(self, doc, elem):
  4944.         """Validate a full subtree when
  4945.           xmlRelaxNGValidatePushElement() returned 0 and the content
  4946.            of the node has been expanded. """
  4947.         if doc is None: doc__o = None
  4948.         else: doc__o = doc._o
  4949.         if elem is None: elem__o = None
  4950.         else: elem__o = elem._o
  4951.         ret = libxml2mod.xmlRelaxNGValidateFullElement(self._o, doc__o, elem__o)
  4952.         return ret
  4953.  
  4954.     def relaxNGValidatePopElement(self, doc, elem):
  4955.         """Pop the element end from the RelaxNG validation stack. """
  4956.         if doc is None: doc__o = None
  4957.         else: doc__o = doc._o
  4958.         if elem is None: elem__o = None
  4959.         else: elem__o = elem._o
  4960.         ret = libxml2mod.xmlRelaxNGValidatePopElement(self._o, doc__o, elem__o)
  4961.         return ret
  4962.  
  4963.     def relaxNGValidatePushCData(self, data, len):
  4964.         """check the CData parsed for validation in the current stack """
  4965.         ret = libxml2mod.xmlRelaxNGValidatePushCData(self._o, data, len)
  4966.         return ret
  4967.  
  4968.     def relaxNGValidatePushElement(self, doc, elem):
  4969.         """Push a new element start on the RelaxNG validation stack. """
  4970.         if doc is None: doc__o = None
  4971.         else: doc__o = doc._o
  4972.         if elem is None: elem__o = None
  4973.         else: elem__o = elem._o
  4974.         ret = libxml2mod.xmlRelaxNGValidatePushElement(self._o, doc__o, elem__o)
  4975.         return ret
  4976.  
  4977. class parserCtxt(parserCtxtCore):
  4978.     def __init__(self, _obj=None):
  4979.         self._o = _obj
  4980.         parserCtxtCore.__init__(self, _obj=_obj)
  4981.  
  4982.     def __del__(self):
  4983.         if self._o != None:
  4984.             libxml2mod.xmlFreeParserCtxt(self._o)
  4985.         self._o = None
  4986.  
  4987.     # accessors for parserCtxt
  4988.     def doc(self):
  4989.         """Get the document tree from a parser context. """
  4990.         ret = libxml2mod.xmlParserGetDoc(self._o)
  4991.         if ret is None:raise parserError('xmlParserGetDoc() failed')
  4992.         __tmp = xmlDoc(_obj=ret)
  4993.         return __tmp
  4994.  
  4995.     def isValid(self):
  4996.         """Get the validity information from a parser context. """
  4997.         ret = libxml2mod.xmlParserGetIsValid(self._o)
  4998.         return ret
  4999.  
  5000.     def lineNumbers(self, linenumbers):
  5001.         """Switch on the generation of line number for elements nodes. """
  5002.         libxml2mod.xmlParserSetLineNumbers(self._o, linenumbers)
  5003.  
  5004.     def loadSubset(self, loadsubset):
  5005.         """Switch the parser to load the DTD without validating. """
  5006.         libxml2mod.xmlParserSetLoadSubset(self._o, loadsubset)
  5007.  
  5008.     def pedantic(self, pedantic):
  5009.         """Switch the parser to be pedantic. """
  5010.         libxml2mod.xmlParserSetPedantic(self._o, pedantic)
  5011.  
  5012.     def replaceEntities(self, replaceEntities):
  5013.         """Switch the parser to replace entities. """
  5014.         libxml2mod.xmlParserSetReplaceEntities(self._o, replaceEntities)
  5015.  
  5016.     def validate(self, validate):
  5017.         """Switch the parser to validation mode. """
  5018.         libxml2mod.xmlParserSetValidate(self._o, validate)
  5019.  
  5020.     def wellFormed(self):
  5021.         """Get the well formed information from a parser context. """
  5022.         ret = libxml2mod.xmlParserGetWellFormed(self._o)
  5023.         return ret
  5024.  
  5025.     #
  5026.     # parserCtxt functions from module HTMLparser
  5027.     #
  5028.  
  5029.     def htmlCtxtReadDoc(self, cur, URL, encoding, options):
  5030.         """parse an XML in-memory document and build a tree. This
  5031.            reuses the existing @ctxt parser context """
  5032.         ret = libxml2mod.htmlCtxtReadDoc(self._o, cur, URL, encoding, options)
  5033.         if ret is None:raise treeError('htmlCtxtReadDoc() failed')
  5034.         __tmp = xmlDoc(_obj=ret)
  5035.         return __tmp
  5036.  
  5037.     def htmlCtxtReadFd(self, fd, URL, encoding, options):
  5038.         """parse an XML from a file descriptor and build a tree. This
  5039.            reuses the existing @ctxt parser context """
  5040.         ret = libxml2mod.htmlCtxtReadFd(self._o, fd, URL, encoding, options)
  5041.         if ret is None:raise treeError('htmlCtxtReadFd() failed')
  5042.         __tmp = xmlDoc(_obj=ret)
  5043.         return __tmp
  5044.  
  5045.     def htmlCtxtReadFile(self, filename, encoding, options):
  5046.         """parse an XML file from the filesystem or the network. This
  5047.            reuses the existing @ctxt parser context """
  5048.         ret = libxml2mod.htmlCtxtReadFile(self._o, filename, encoding, options)
  5049.         if ret is None:raise treeError('htmlCtxtReadFile() failed')
  5050.         __tmp = xmlDoc(_obj=ret)
  5051.         return __tmp
  5052.  
  5053.     def htmlCtxtReadMemory(self, buffer, size, URL, encoding, options):
  5054.         """parse an XML in-memory document and build a tree. This
  5055.            reuses the existing @ctxt parser context """
  5056.         ret = libxml2mod.htmlCtxtReadMemory(self._o, buffer, size, URL, encoding, options)
  5057.         if ret is None:raise treeError('htmlCtxtReadMemory() failed')
  5058.         __tmp = xmlDoc(_obj=ret)
  5059.         return __tmp
  5060.  
  5061.     def htmlCtxtReset(self):
  5062.         """Reset a parser context """
  5063.         libxml2mod.htmlCtxtReset(self._o)
  5064.  
  5065.     def htmlCtxtUseOptions(self, options):
  5066.         """Applies the options to the parser context """
  5067.         ret = libxml2mod.htmlCtxtUseOptions(self._o, options)
  5068.         return ret
  5069.  
  5070.     def htmlFreeParserCtxt(self):
  5071.         """Free all the memory used by a parser context. However the
  5072.            parsed document in ctxt->myDoc is not freed. """
  5073.         libxml2mod.htmlFreeParserCtxt(self._o)
  5074.  
  5075.     def htmlParseCharRef(self):
  5076.         """parse Reference declarations  [66] CharRef ::= '&#' [0-9]+
  5077.            ';' | '&#x' [0-9a-fA-F]+ ';' """
  5078.         ret = libxml2mod.htmlParseCharRef(self._o)
  5079.         return ret
  5080.  
  5081.     def htmlParseChunk(self, chunk, size, terminate):
  5082.         """Parse a Chunk of memory """
  5083.         ret = libxml2mod.htmlParseChunk(self._o, chunk, size, terminate)
  5084.         return ret
  5085.  
  5086.     def htmlParseDocument(self):
  5087.         """parse an HTML document (and build a tree if using the
  5088.            standard SAX interface). """
  5089.         ret = libxml2mod.htmlParseDocument(self._o)
  5090.         return ret
  5091.  
  5092.     def htmlParseElement(self):
  5093.         """parse an HTML element, this is highly recursive  [39]
  5094.           element ::= EmptyElemTag | STag content ETag  [41]
  5095.            Attribute ::= Name Eq AttValue """
  5096.         libxml2mod.htmlParseElement(self._o)
  5097.  
  5098.     #
  5099.     # parserCtxt functions from module parser
  5100.     #
  5101.  
  5102.     def byteConsumed(self):
  5103.         """This function provides the current index of the parser
  5104.           relative to the start of the current entity. This function
  5105.           is computed in bytes from the beginning starting at zero
  5106.           and finishing at the size in byte of the file if parsing a
  5107.           file. The function is of constant cost if the input is
  5108.            UTF-8 but can be costly if run on non-UTF-8 input. """
  5109.         ret = libxml2mod.xmlByteConsumed(self._o)
  5110.         return ret
  5111.  
  5112.     def clearParserCtxt(self):
  5113.         """Clear (release owned resources) and reinitialize a parser
  5114.            context """
  5115.         libxml2mod.xmlClearParserCtxt(self._o)
  5116.  
  5117.     def ctxtReadDoc(self, cur, URL, encoding, options):
  5118.         """parse an XML in-memory document and build a tree. This
  5119.            reuses the existing @ctxt parser context """
  5120.         ret = libxml2mod.xmlCtxtReadDoc(self._o, cur, URL, encoding, options)
  5121.         if ret is None:raise treeError('xmlCtxtReadDoc() failed')
  5122.         __tmp = xmlDoc(_obj=ret)
  5123.         return __tmp
  5124.  
  5125.     def ctxtReadFd(self, fd, URL, encoding, options):
  5126.         """parse an XML from a file descriptor and build a tree. This
  5127.           reuses the existing @ctxt parser context NOTE that the file
  5128.           descriptor will not be closed when the reader is closed or
  5129.            reset. """
  5130.         ret = libxml2mod.xmlCtxtReadFd(self._o, fd, URL, encoding, options)
  5131.         if ret is None:raise treeError('xmlCtxtReadFd() failed')
  5132.         __tmp = xmlDoc(_obj=ret)
  5133.         return __tmp
  5134.  
  5135.     def ctxtReadFile(self, filename, encoding, options):
  5136.         """parse an XML file from the filesystem or the network. This
  5137.            reuses the existing @ctxt parser context """
  5138.         ret = libxml2mod.xmlCtxtReadFile(self._o, filename, encoding, options)
  5139.         if ret is None:raise treeError('xmlCtxtReadFile() failed')
  5140.         __tmp = xmlDoc(_obj=ret)
  5141.         return __tmp
  5142.  
  5143.     def ctxtReadMemory(self, buffer, size, URL, encoding, options):
  5144.         """parse an XML in-memory document and build a tree. This
  5145.            reuses the existing @ctxt parser context """
  5146.         ret = libxml2mod.xmlCtxtReadMemory(self._o, buffer, size, URL, encoding, options)
  5147.         if ret is None:raise treeError('xmlCtxtReadMemory() failed')
  5148.         __tmp = xmlDoc(_obj=ret)
  5149.         return __tmp
  5150.  
  5151.     def ctxtReset(self):
  5152.         """Reset a parser context """
  5153.         libxml2mod.xmlCtxtReset(self._o)
  5154.  
  5155.     def ctxtResetPush(self, chunk, size, filename, encoding):
  5156.         """Reset a push parser context """
  5157.         ret = libxml2mod.xmlCtxtResetPush(self._o, chunk, size, filename, encoding)
  5158.         return ret
  5159.  
  5160.     def ctxtUseOptions(self, options):
  5161.         """Applies the options to the parser context """
  5162.         ret = libxml2mod.xmlCtxtUseOptions(self._o, options)
  5163.         return ret
  5164.  
  5165.     def initParserCtxt(self):
  5166.         """Initialize a parser context """
  5167.         ret = libxml2mod.xmlInitParserCtxt(self._o)
  5168.         return ret
  5169.  
  5170.     def parseChunk(self, chunk, size, terminate):
  5171.         """Parse a Chunk of memory """
  5172.         ret = libxml2mod.xmlParseChunk(self._o, chunk, size, terminate)
  5173.         return ret
  5174.  
  5175.     def parseDocument(self):
  5176.         """parse an XML document (and build a tree if using the
  5177.           standard SAX interface).  [1] document ::= prolog element
  5178.            Misc*  [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? """
  5179.         ret = libxml2mod.xmlParseDocument(self._o)
  5180.         return ret
  5181.  
  5182.     def parseExtParsedEnt(self):
  5183.         """parse a general parsed entity An external general parsed
  5184.           entity is well-formed if it matches the production labeled
  5185.            extParsedEnt.  [78] extParsedEnt ::= TextDecl? content """
  5186.         ret = libxml2mod.xmlParseExtParsedEnt(self._o)
  5187.         return ret
  5188.  
  5189.     def setupParserForBuffer(self, buffer, filename):
  5190.         """Setup the parser context to parse a new buffer; Clears any
  5191.           prior contents from the parser context. The buffer
  5192.           parameter must not be None, but the filename parameter can
  5193.            be """
  5194.         libxml2mod.xmlSetupParserForBuffer(self._o, buffer, filename)
  5195.  
  5196.     def stopParser(self):
  5197.         """Blocks further parser processing """
  5198.         libxml2mod.xmlStopParser(self._o)
  5199.  
  5200.     #
  5201.     # parserCtxt functions from module parserInternals
  5202.     #
  5203.  
  5204.     def decodeEntities(self, len, what, end, end2, end3):
  5205.         """This function is deprecated, we now always process entities
  5206.           content through xmlStringDecodeEntities  TODO: remove it in
  5207.           next major release.  [67] Reference ::= EntityRef | CharRef
  5208.             [69] PEReference ::= '%' Name ';' """
  5209.         ret = libxml2mod.xmlDecodeEntities(self._o, len, what, end, end2, end3)
  5210.         return ret
  5211.  
  5212.     def handleEntity(self, entity):
  5213.         """Default handling of defined entities, when should we define
  5214.           a new input stream ? When do we just handle that as a set
  5215.            of chars ?  OBSOLETE: to be removed at some point. """
  5216.         if entity is None: entity__o = None
  5217.         else: entity__o = entity._o
  5218.         libxml2mod.xmlHandleEntity(self._o, entity__o)
  5219.  
  5220.     def namespaceParseNCName(self):
  5221.         """parse an XML namespace name.  TODO: this seems not in use
  5222.           anymore, the namespace handling is done on top of the SAX
  5223.           interfaces, i.e. not on raw input.  [NS 3] NCName ::=
  5224.           (Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::= Letter
  5225.            | Digit | '.' | '-' | '_' | CombiningChar | Extender """
  5226.         ret = libxml2mod.xmlNamespaceParseNCName(self._o)
  5227.         return ret
  5228.  
  5229.     def namespaceParseNSDef(self):
  5230.         """parse a namespace prefix declaration  TODO: this seems not
  5231.           in use anymore, the namespace handling is done on top of
  5232.           the SAX interfaces, i.e. not on raw input.  [NS 1] NSDef
  5233.           ::= PrefixDef Eq SystemLiteral  [NS 2] PrefixDef ::=
  5234.            'xmlns' (':' NCName)? """
  5235.         ret = libxml2mod.xmlNamespaceParseNSDef(self._o)
  5236.         return ret
  5237.  
  5238.     def nextChar(self):
  5239.         """Skip to the next char input char. """
  5240.         libxml2mod.xmlNextChar(self._o)
  5241.  
  5242.     def parseAttValue(self):
  5243.         """parse a value for an attribute Note: the parser won't do
  5244.           substitution of entities here, this will be handled later
  5245.           in xmlStringGetNodeList  [10] AttValue ::= '"' ([^<&"] |
  5246.           Reference)* '"' | "'" ([^<&'] | Reference)* "'"  3.3.3
  5247.           Attribute-Value Normalization: Before the value of an
  5248.           attribute is passed to the application or checked for
  5249.           validity, the XML processor must normalize it as follows: -
  5250.           a character reference is processed by appending the
  5251.           referenced character to the attribute value - an entity
  5252.           reference is processed by recursively processing the
  5253.           replacement text of the entity - a whitespace character
  5254.           (#x20, #xD, #xA, #x9) is processed by appending #x20 to the
  5255.           normalized value, except that only a single #x20 is
  5256.           appended for a "#xD#xA" sequence that is part of an
  5257.           external parsed entity or the literal entity value of an
  5258.           internal parsed entity - other characters are processed by
  5259.           appending them to the normalized value If the declared
  5260.           value is not CDATA, then the XML processor must further
  5261.           process the normalized attribute value by discarding any
  5262.           leading and trailing space (#x20) characters, and by
  5263.           replacing sequences of space (#x20) characters by a single
  5264.           space (#x20) character. All attributes for which no
  5265.           declaration has been read should be treated by a
  5266.            non-validating parser as if declared CDATA. """
  5267.         ret = libxml2mod.xmlParseAttValue(self._o)
  5268.         return ret
  5269.  
  5270.     def parseAttributeListDecl(self):
  5271.         """: parse the Attribute list def for an element  [52]
  5272.           AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'  [53]
  5273.            AttDef ::= S Name S AttType S DefaultDecl """
  5274.         libxml2mod.xmlParseAttributeListDecl(self._o)
  5275.  
  5276.     def parseCDSect(self):
  5277.         """Parse escaped pure raw content.  [18] CDSect ::= CDStart
  5278.           CData CDEnd  [19] CDStart ::= '<![CDATA['  [20] Data ::=
  5279.            (Char* - (Char* ']]>' Char*))  [21] CDEnd ::= ']]>' """
  5280.         libxml2mod.xmlParseCDSect(self._o)
  5281.  
  5282.     def parseCharData(self, cdata):
  5283.         """parse a CharData section. if we are within a CDATA section
  5284.           ']]>' marks an end of section.  The right angle bracket (>)
  5285.           may be represented using the string ">", and must, for
  5286.           compatibility, be escaped using ">" or a character
  5287.           reference when it appears in the string "]]>" in content,
  5288.           when that string is not marking the end of a CDATA section.
  5289.             [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*) """
  5290.         libxml2mod.xmlParseCharData(self._o, cdata)
  5291.  
  5292.     def parseCharRef(self):
  5293.         """parse Reference declarations  [66] CharRef ::= '&#' [0-9]+
  5294.           ';' | '&#x' [0-9a-fA-F]+ ';'  [ WFC: Legal Character ]
  5295.           Characters referred to using character references must
  5296.            match the production for Char. """
  5297.         ret = libxml2mod.xmlParseCharRef(self._o)
  5298.         return ret
  5299.  
  5300.     def parseComment(self):
  5301.         """Skip an XML (SGML) comment <!-- .... --> The spec says that
  5302.           "For compatibility, the string "--" (double-hyphen) must
  5303.           not occur within comments. "  [15] Comment ::= '<!--'
  5304.            ((Char - '-') | ('-' (Char - '-')))* '-->' """
  5305.         libxml2mod.xmlParseComment(self._o)
  5306.  
  5307.     def parseContent(self):
  5308.         """Parse a content:  [43] content ::= (element | CharData |
  5309.            Reference | CDSect | PI | Comment)* """
  5310.         libxml2mod.xmlParseContent(self._o)
  5311.  
  5312.     def parseDocTypeDecl(self):
  5313.         """parse a DOCTYPE declaration  [28] doctypedecl ::=
  5314.           '<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl |
  5315.           PEReference | S)* ']' S?)? '>'  [ VC: Root Element Type ]
  5316.           The Name in the document type declaration must match the
  5317.            element type of the root element. """
  5318.         libxml2mod.xmlParseDocTypeDecl(self._o)
  5319.  
  5320.     def parseElement(self):
  5321.         """parse an XML element, this is highly recursive  [39]
  5322.           element ::= EmptyElemTag | STag content ETag  [ WFC:
  5323.           Element Type Match ] The Name in an element's end-tag must
  5324.            match the element type in the start-tag. """
  5325.         libxml2mod.xmlParseElement(self._o)
  5326.  
  5327.     def parseElementDecl(self):
  5328.         """parse an Element declaration.  [45] elementdecl ::=
  5329.           '<!ELEMENT' S Name S contentspec S? '>'  [ VC: Unique
  5330.           Element Type Declaration ] No element type may be declared
  5331.            more than once """
  5332.         ret = libxml2mod.xmlParseElementDecl(self._o)
  5333.         return ret
  5334.  
  5335.     def parseEncName(self):
  5336.         """parse the XML encoding name  [81] EncName ::= [A-Za-z]
  5337.            ([A-Za-z0-9._] | '-')* """
  5338.         ret = libxml2mod.xmlParseEncName(self._o)
  5339.         return ret
  5340.  
  5341.     def parseEncodingDecl(self):
  5342.         """parse the XML encoding declaration  [80] EncodingDecl ::= S
  5343.           'encoding' Eq ('"' EncName '"' |  "'" EncName "'")  this
  5344.            setups the conversion filters. """
  5345.         ret = libxml2mod.xmlParseEncodingDecl(self._o)
  5346.         return ret
  5347.  
  5348.     def parseEndTag(self):
  5349.         """parse an end of tag  [42] ETag ::= '</' Name S? '>'  With
  5350.            namespace  [NS 9] ETag ::= '</' QName S? '>' """
  5351.         libxml2mod.xmlParseEndTag(self._o)
  5352.  
  5353.     def parseEntityDecl(self):
  5354.         """parse <!ENTITY declarations  [70] EntityDecl ::= GEDecl |
  5355.           PEDecl  [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S?
  5356.           '>'  [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
  5357.           [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) 
  5358.           [74] PEDef ::= EntityValue | ExternalID  [76] NDataDecl ::=
  5359.           S 'NDATA' S Name  [ VC: Notation Declared ] The Name must
  5360.            match the declared name of a notation. """
  5361.         libxml2mod.xmlParseEntityDecl(self._o)
  5362.  
  5363.     def parseEntityRef(self):
  5364.         """parse ENTITY references declarations  [68] EntityRef ::=
  5365.           '&' Name ';'  [ WFC: Entity Declared ] In a document
  5366.           without any DTD, a document with only an internal DTD
  5367.           subset which contains no parameter entity references, or a
  5368.           document with "standalone='yes'", the Name given in the
  5369.           entity reference must match that in an entity declaration,
  5370.           except that well-formed documents need not declare any of
  5371.           the following entities: amp, lt, gt, apos, quot.  The
  5372.           declaration of a parameter entity must precede any
  5373.           reference to it.  Similarly, the declaration of a general
  5374.           entity must precede any reference to it which appears in a
  5375.           default value in an attribute-list declaration. Note that
  5376.           if entities are declared in the external subset or in
  5377.           external parameter entities, a non-validating processor is
  5378.           not obligated to read and process their declarations; for
  5379.           such documents, the rule that an entity must be declared is
  5380.           a well-formedness constraint only if standalone='yes'.  [
  5381.           WFC: Parsed Entity ] An entity reference must not contain
  5382.            the name of an unparsed entity """
  5383.         ret = libxml2mod.xmlParseEntityRef(self._o)
  5384.         if ret is None:raise parserError('xmlParseEntityRef() failed')
  5385.         __tmp = xmlEntity(_obj=ret)
  5386.         return __tmp
  5387.  
  5388.     def parseExternalSubset(self, ExternalID, SystemID):
  5389.         """parse Markup declarations from an external subset  [30]
  5390.           extSubset ::= textDecl? extSubsetDecl  [31] extSubsetDecl
  5391.            ::= (markupdecl | conditionalSect | PEReference | S) * """
  5392.         libxml2mod.xmlParseExternalSubset(self._o, ExternalID, SystemID)
  5393.  
  5394.     def parseMarkupDecl(self):
  5395.         """parse Markup declarations  [29] markupdecl ::= elementdecl
  5396.           | AttlistDecl | EntityDecl | NotationDecl | PI | Comment  [
  5397.           VC: Proper Declaration/PE Nesting ] Parameter-entity
  5398.           replacement text must be properly nested with markup
  5399.           declarations. That is to say, if either the first character
  5400.           or the last character of a markup declaration (markupdecl
  5401.           above) is contained in the replacement text for a
  5402.           parameter-entity reference, both must be contained in the
  5403.           same replacement text.  [ WFC: PEs in Internal Subset ] In
  5404.           the internal DTD subset, parameter-entity references can
  5405.           occur only where markup declarations can occur, not within
  5406.           markup declarations. (This does not apply to references
  5407.           that occur in external parameter entities or to the
  5408.            external subset.) """
  5409.         libxml2mod.xmlParseMarkupDecl(self._o)
  5410.  
  5411.     def parseMisc(self):
  5412.         """parse an XML Misc* optional field.  [27] Misc ::= Comment |
  5413.            PI |  S """
  5414.         libxml2mod.xmlParseMisc(self._o)
  5415.  
  5416.     def parseName(self):
  5417.         """parse an XML name.  [4] NameChar ::= Letter | Digit | '.' |
  5418.           '-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
  5419.           (Letter | '_' | ':') (NameChar)*  [6] Names ::= Name (#x20
  5420.            Name)* """
  5421.         ret = libxml2mod.xmlParseName(self._o)
  5422.         return ret
  5423.  
  5424.     def parseNamespace(self):
  5425.         """xmlParseNamespace: parse specific PI '<?namespace ...'
  5426.           constructs.  This is what the older xml-name Working Draft
  5427.           specified, a bunch of other stuff may still rely on it, so
  5428.           support is still here as if it was declared on the root of
  5429.           the Tree:-(  TODO: remove from library  To be removed at
  5430.            next drop of binary compatibility """
  5431.         libxml2mod.xmlParseNamespace(self._o)
  5432.  
  5433.     def parseNmtoken(self):
  5434.         """parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8]
  5435.            Nmtokens ::= Nmtoken (#x20 Nmtoken)* """
  5436.         ret = libxml2mod.xmlParseNmtoken(self._o)
  5437.         return ret
  5438.  
  5439.     def parseNotationDecl(self):
  5440.         """parse a notation declaration  [82] NotationDecl ::=
  5441.           '<!NOTATION' S Name S (ExternalID |  PublicID) S? '>' 
  5442.           Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral
  5443.           'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S
  5444.            SystemLiteral  See the NOTE on xmlParseExternalID(). """
  5445.         libxml2mod.xmlParseNotationDecl(self._o)
  5446.  
  5447.     def parsePEReference(self):
  5448.         """parse PEReference declarations The entity content is
  5449.           handled directly by pushing it's content as a new input
  5450.           stream.  [69] PEReference ::= '%' Name ';'  [ WFC: No
  5451.           Recursion ] A parsed entity must not contain a recursive
  5452.           reference to itself, either directly or indirectly.  [ WFC:
  5453.           Entity Declared ] In a document without any DTD, a document
  5454.           with only an internal DTD subset which contains no
  5455.           parameter entity references, or a document with
  5456.           "standalone='yes'", ...  ... The declaration of a parameter
  5457.           entity must precede any reference to it...  [ VC: Entity
  5458.           Declared ] In a document with an external subset or
  5459.           external parameter entities with "standalone='no'", ... 
  5460.           ... The declaration of a parameter entity must precede any
  5461.           reference to it...  [ WFC: In DTD ] Parameter-entity
  5462.           references may only appear in the DTD. NOTE: misleading but
  5463.            this is handled. """
  5464.         libxml2mod.xmlParsePEReference(self._o)
  5465.  
  5466.     def parsePI(self):
  5467.         """parse an XML Processing Instruction.  [16] PI ::= '<?'
  5468.           PITarget (S (Char* - (Char* '?>' Char*)))? '?>'  The
  5469.            processing is transfered to SAX once parsed. """
  5470.         libxml2mod.xmlParsePI(self._o)
  5471.  
  5472.     def parsePITarget(self):
  5473.         """parse the name of a PI  [17] PITarget ::= Name - (('X' |
  5474.            'x') ('M' | 'm') ('L' | 'l')) """
  5475.         ret = libxml2mod.xmlParsePITarget(self._o)
  5476.         return ret
  5477.  
  5478.     def parsePubidLiteral(self):
  5479.         """parse an XML public literal  [12] PubidLiteral ::= '"'
  5480.            PubidChar* '"' | "'" (PubidChar - "'")* "'" """
  5481.         ret = libxml2mod.xmlParsePubidLiteral(self._o)
  5482.         return ret
  5483.  
  5484.     def parseQuotedString(self):
  5485.         """Parse and return a string between quotes or doublequotes 
  5486.           TODO: Deprecated, to  be removed at next drop of binary
  5487.            compatibility """
  5488.         ret = libxml2mod.xmlParseQuotedString(self._o)
  5489.         return ret
  5490.  
  5491.     def parseReference(self):
  5492.         """parse and handle entity references in content, depending on
  5493.           the SAX interface, this may end-up in a call to character()
  5494.           if this is a CharRef, a predefined entity, if there is no
  5495.           reference() callback. or if the parser was asked to switch
  5496.            to that mode.  [67] Reference ::= EntityRef | CharRef """
  5497.         libxml2mod.xmlParseReference(self._o)
  5498.  
  5499.     def parseSDDecl(self):
  5500.         """parse the XML standalone declaration  [32] SDDecl ::= S
  5501.           'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' |
  5502.           'no')'"'))  [ VC: Standalone Document Declaration ] TODO
  5503.           The standalone document declaration must have the value
  5504.           "no" if any external markup declarations contain
  5505.           declarations of: - attributes with default values, if
  5506.           elements to which these attributes apply appear in the
  5507.           document without specifications of values for these
  5508.           attributes, or - entities (other than amp, lt, gt, apos,
  5509.           quot), if references to those entities appear in the
  5510.           document, or - attributes with values subject to
  5511.           normalization, where the attribute appears in the document
  5512.           with a value which will change as a result of
  5513.           normalization, or - element types with element content, if
  5514.           white space occurs directly within any instance of those
  5515.            types. """
  5516.         ret = libxml2mod.xmlParseSDDecl(self._o)
  5517.         return ret
  5518.  
  5519.     def parseStartTag(self):
  5520.         """parse a start of tag either for rule element or
  5521.           EmptyElement. In both case we don't parse the tag closing
  5522.           chars.  [40] STag ::= '<' Name (S Attribute)* S? '>'  [
  5523.           WFC: Unique Att Spec ] No attribute name may appear more
  5524.           than once in the same start-tag or empty-element tag.  [44]
  5525.           EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'  [ WFC:
  5526.           Unique Att Spec ] No attribute name may appear more than
  5527.           once in the same start-tag or empty-element tag.  With
  5528.           namespace:  [NS 8] STag ::= '<' QName (S Attribute)* S? '>'
  5529.             [NS 10] EmptyElement ::= '<' QName (S Attribute)* S? '/>' """
  5530.         ret = libxml2mod.xmlParseStartTag(self._o)
  5531.         return ret
  5532.  
  5533.     def parseSystemLiteral(self):
  5534.         """parse an XML Literal  [11] SystemLiteral ::= ('"' [^"]*
  5535.            '"') | ("'" [^']* "'") """
  5536.         ret = libxml2mod.xmlParseSystemLiteral(self._o)
  5537.         return ret
  5538.  
  5539.     def parseTextDecl(self):
  5540.         """parse an XML declaration header for external entities  [77]
  5541.            TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>' """
  5542.         libxml2mod.xmlParseTextDecl(self._o)
  5543.  
  5544.     def parseVersionInfo(self):
  5545.         """parse the XML version.  [24] VersionInfo ::= S 'version' Eq
  5546.            (' VersionNum ' | " VersionNum ")  [25] Eq ::= S? '=' S? """
  5547.         ret = libxml2mod.xmlParseVersionInfo(self._o)
  5548.         return ret
  5549.  
  5550.     def parseVersionNum(self):
  5551.         """parse the XML version value.  [26] VersionNum ::= '1.'
  5552.            [0-9]+  In practice allow [0-9].[0-9]+ at that level """
  5553.         ret = libxml2mod.xmlParseVersionNum(self._o)
  5554.         return ret
  5555.  
  5556.     def parseXMLDecl(self):
  5557.         """parse an XML declaration header  [23] XMLDecl ::= '<?xml'
  5558.            VersionInfo EncodingDecl? SDDecl? S? '?>' """
  5559.         libxml2mod.xmlParseXMLDecl(self._o)
  5560.  
  5561.     def parserHandlePEReference(self):
  5562.         """[69] PEReference ::= '%' Name ';'  [ WFC: No Recursion ] A
  5563.           parsed entity must not contain a recursive reference to
  5564.           itself, either directly or indirectly.  [ WFC: Entity
  5565.           Declared ] In a document without any DTD, a document with
  5566.           only an internal DTD subset which contains no parameter
  5567.           entity references, or a document with "standalone='yes'",
  5568.           ...  ... The declaration of a parameter entity must precede
  5569.           any reference to it...  [ VC: Entity Declared ] In a
  5570.           document with an external subset or external parameter
  5571.           entities with "standalone='no'", ...  ... The declaration
  5572.           of a parameter entity must precede any reference to it... 
  5573.           [ WFC: In DTD ] Parameter-entity references may only appear
  5574.           in the DTD. NOTE: misleading but this is handled.  A
  5575.           PEReference may have been detected in the current input
  5576.           stream the handling is done accordingly to
  5577.           http://www.w3.org/TR/REC-xml#entproc i.e. - Included in
  5578.           literal in entity values - Included as Parameter Entity
  5579.            reference within DTDs """
  5580.         libxml2mod.xmlParserHandlePEReference(self._o)
  5581.  
  5582.     def parserHandleReference(self):
  5583.         """TODO: Remove, now deprecated ... the test is done directly
  5584.           in the content parsing routines.  [67] Reference ::=
  5585.           EntityRef | CharRef  [68] EntityRef ::= '&' Name ';'  [
  5586.           WFC: Entity Declared ] the Name given in the entity
  5587.           reference must match that in an entity declaration, except
  5588.           that well-formed documents need not declare any of the
  5589.           following entities: amp, lt, gt, apos, quot.  [ WFC: Parsed
  5590.           Entity ] An entity reference must not contain the name of
  5591.           an unparsed entity  [66] CharRef ::= '&#' [0-9]+ ';' |
  5592.           '&#x' [0-9a-fA-F]+ ';'  A PEReference may have been
  5593.           detected in the current input stream the handling is done
  5594.            accordingly to http://www.w3.org/TR/REC-xml#entproc """
  5595.         libxml2mod.xmlParserHandleReference(self._o)
  5596.  
  5597.     def popInput(self):
  5598.         """xmlPopInput: the current input pointed by ctxt->input came
  5599.            to an end pop it and return the next char. """
  5600.         ret = libxml2mod.xmlPopInput(self._o)
  5601.         return ret
  5602.  
  5603.     def scanName(self):
  5604.         """Trickery: parse an XML name but without consuming the input
  5605.           flow Needed for rollback cases. Used only when parsing
  5606.           entities references.  TODO: seems deprecated now, only used
  5607.           in the default part of xmlParserHandleReference  [4]
  5608.           NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
  5609.           CombiningChar | Extender  [5] Name ::= (Letter | '_' | ':')
  5610.            (NameChar)*  [6] Names ::= Name (S Name)* """
  5611.         ret = libxml2mod.xmlScanName(self._o)
  5612.         return ret
  5613.  
  5614.     def skipBlankChars(self):
  5615.         """skip all blanks character found at that point in the input
  5616.           streams. It pops up finished entities in the process if
  5617.            allowable at that point. """
  5618.         ret = libxml2mod.xmlSkipBlankChars(self._o)
  5619.         return ret
  5620.  
  5621.     def stringDecodeEntities(self, str, what, end, end2, end3):
  5622.         """Takes a entity string content and process to do the
  5623.           adequate substitutions.  [67] Reference ::= EntityRef |
  5624.            CharRef  [69] PEReference ::= '%' Name ';' """
  5625.         ret = libxml2mod.xmlStringDecodeEntities(self._o, str, what, end, end2, end3)
  5626.         return ret
  5627.  
  5628.     def stringLenDecodeEntities(self, str, len, what, end, end2, end3):
  5629.         """Takes a entity string content and process to do the
  5630.           adequate substitutions.  [67] Reference ::= EntityRef |
  5631.            CharRef  [69] PEReference ::= '%' Name ';' """
  5632.         ret = libxml2mod.xmlStringLenDecodeEntities(self._o, str, len, what, end, end2, end3)
  5633.         return ret
  5634.  
  5635. class xmlDtd(xmlNode):
  5636.     def __init__(self, _obj=None):
  5637.         if type(_obj).__name__ != 'PyCObject':
  5638.             raise TypeError, 'xmlDtd needs a PyCObject argument'
  5639.         self._o = _obj
  5640.         xmlNode.__init__(self, _obj=_obj)
  5641.  
  5642.     def __repr__(self):
  5643.         return "<xmlDtd (%s) object at 0x%x>" % (self.name, long(pos_id (self)))
  5644.  
  5645.     #
  5646.     # xmlDtd functions from module debugXML
  5647.     #
  5648.  
  5649.     def debugDumpDTD(self, output):
  5650.         """Dumps debug information for the DTD """
  5651.         libxml2mod.xmlDebugDumpDTD(output, self._o)
  5652.  
  5653.     #
  5654.     # xmlDtd functions from module tree
  5655.     #
  5656.  
  5657.     def copyDtd(self):
  5658.         """Do a copy of the dtd. """
  5659.         ret = libxml2mod.xmlCopyDtd(self._o)
  5660.         if ret is None:raise treeError('xmlCopyDtd() failed')
  5661.         __tmp = xmlDtd(_obj=ret)
  5662.         return __tmp
  5663.  
  5664.     def freeDtd(self):
  5665.         """Free a DTD structure. """
  5666.         libxml2mod.xmlFreeDtd(self._o)
  5667.  
  5668.     #
  5669.     # xmlDtd functions from module valid
  5670.     #
  5671.  
  5672.     def dtdAttrDesc(self, elem, name):
  5673.         """Search the DTD for the description of this attribute on
  5674.            this element. """
  5675.         ret = libxml2mod.xmlGetDtdAttrDesc(self._o, elem, name)
  5676.         if ret is None:raise treeError('xmlGetDtdAttrDesc() failed')
  5677.         __tmp = xmlAttribute(_obj=ret)
  5678.         return __tmp
  5679.  
  5680.     def dtdElementDesc(self, name):
  5681.         """Search the DTD for the description of this element """
  5682.         ret = libxml2mod.xmlGetDtdElementDesc(self._o, name)
  5683.         if ret is None:raise treeError('xmlGetDtdElementDesc() failed')
  5684.         __tmp = xmlElement(_obj=ret)
  5685.         return __tmp
  5686.  
  5687.     def dtdQAttrDesc(self, elem, name, prefix):
  5688.         """Search the DTD for the description of this qualified
  5689.            attribute on this element. """
  5690.         ret = libxml2mod.xmlGetDtdQAttrDesc(self._o, elem, name, prefix)
  5691.         if ret is None:raise treeError('xmlGetDtdQAttrDesc() failed')
  5692.         __tmp = xmlAttribute(_obj=ret)
  5693.         return __tmp
  5694.  
  5695.     def dtdQElementDesc(self, name, prefix):
  5696.         """Search the DTD for the description of this element """
  5697.         ret = libxml2mod.xmlGetDtdQElementDesc(self._o, name, prefix)
  5698.         if ret is None:raise treeError('xmlGetDtdQElementDesc() failed')
  5699.         __tmp = xmlElement(_obj=ret)
  5700.         return __tmp
  5701.  
  5702. class relaxNgParserCtxt:
  5703.     def __init__(self, _obj=None):
  5704.         if _obj != None:self._o = _obj;return
  5705.         self._o = None
  5706.  
  5707.     def __del__(self):
  5708.         if self._o != None:
  5709.             libxml2mod.xmlRelaxNGFreeParserCtxt(self._o)
  5710.         self._o = None
  5711.  
  5712.     #
  5713.     # relaxNgParserCtxt functions from module relaxng
  5714.     #
  5715.  
  5716.     def relaxNGParse(self):
  5717.         """parse a schema definition resource and build an internal
  5718.            XML Shema struture which can be used to validate instances. """
  5719.         ret = libxml2mod.xmlRelaxNGParse(self._o)
  5720.         if ret is None:raise parserError('xmlRelaxNGParse() failed')
  5721.         __tmp = relaxNgSchema(_obj=ret)
  5722.         return __tmp
  5723.  
  5724.     def relaxParserSetFlag(self, flags):
  5725.         """Semi private function used to pass informations to a parser
  5726.            context which are a combination of xmlRelaxNGParserFlag . """
  5727.         ret = libxml2mod.xmlRelaxParserSetFlag(self._o, flags)
  5728.         return ret
  5729.  
  5730. class xpathParserContext:
  5731.     def __init__(self, _obj=None):
  5732.         if _obj != None:self._o = _obj;return
  5733.         self._o = None
  5734.  
  5735.     # accessors for xpathParserContext
  5736.     def context(self):
  5737.         """Get the xpathContext from an xpathParserContext """
  5738.         ret = libxml2mod.xmlXPathParserGetContext(self._o)
  5739.         if ret is None:raise xpathError('xmlXPathParserGetContext() failed')
  5740.         __tmp = xpathContext(_obj=ret)
  5741.         return __tmp
  5742.  
  5743.     #
  5744.     # xpathParserContext functions from module xpathInternals
  5745.     #
  5746.  
  5747.     def xpathAddValues(self):
  5748.         """Implement the add operation on XPath objects: The numeric
  5749.           operators convert their operands to numbers as if by
  5750.            calling the number function. """
  5751.         libxml2mod.xmlXPathAddValues(self._o)
  5752.  
  5753.     def xpathBooleanFunction(self, nargs):
  5754.         """Implement the boolean() XPath function boolean
  5755.           boolean(object) The boolean function converts its argument
  5756.           to a boolean as follows: - a number is true if and only if
  5757.           it is neither positive or negative zero nor NaN - a
  5758.           node-set is true if and only if it is non-empty - a string
  5759.            is true if and only if its length is non-zero """
  5760.         libxml2mod.xmlXPathBooleanFunction(self._o, nargs)
  5761.  
  5762.     def xpathCeilingFunction(self, nargs):
  5763.         """Implement the ceiling() XPath function number
  5764.           ceiling(number) The ceiling function returns the smallest
  5765.           (closest to negative infinity) number that is not less than
  5766.            the argument and that is an integer. """
  5767.         libxml2mod.xmlXPathCeilingFunction(self._o, nargs)
  5768.  
  5769.     def xpathCompareValues(self, inf, strict):
  5770.         """Implement the compare operation on XPath objects: @arg1 <
  5771.           @arg2    (1, 1, ... @arg1 <= @arg2   (1, 0, ... @arg1 >
  5772.           @arg2    (0, 1, ... @arg1 >= @arg2   (0, 0, ...  When
  5773.           neither object to be compared is a node-set and the
  5774.           operator is <=, <, >=, >, then the objects are compared by
  5775.           converted both objects to numbers and comparing the numbers
  5776.           according to IEEE 754. The < comparison will be true if and
  5777.           only if the first number is less than the second number.
  5778.           The <= comparison will be true if and only if the first
  5779.           number is less than or equal to the second number. The >
  5780.           comparison will be true if and only if the first number is
  5781.           greater than the second number. The >= comparison will be
  5782.           true if and only if the first number is greater than or
  5783.            equal to the second number. """
  5784.         ret = libxml2mod.xmlXPathCompareValues(self._o, inf, strict)
  5785.         return ret
  5786.  
  5787.     def xpathConcatFunction(self, nargs):
  5788.         """Implement the concat() XPath function string concat(string,
  5789.           string, string*) The concat function returns the
  5790.            concatenation of its arguments. """
  5791.         libxml2mod.xmlXPathConcatFunction(self._o, nargs)
  5792.  
  5793.     def xpathContainsFunction(self, nargs):
  5794.         """Implement the contains() XPath function boolean
  5795.           contains(string, string) The contains function returns true
  5796.           if the first argument string contains the second argument
  5797.            string, and otherwise returns false. """
  5798.         libxml2mod.xmlXPathContainsFunction(self._o, nargs)
  5799.  
  5800.     def xpathCountFunction(self, nargs):
  5801.         """Implement the count() XPath function number count(node-set) """
  5802.         libxml2mod.xmlXPathCountFunction(self._o, nargs)
  5803.  
  5804.     def xpathDivValues(self):
  5805.         """Implement the div operation on XPath objects @arg1 / @arg2:
  5806.           The numeric operators convert their operands to numbers as
  5807.            if by calling the number function. """
  5808.         libxml2mod.xmlXPathDivValues(self._o)
  5809.  
  5810.     def xpathEqualValues(self):
  5811.         """Implement the equal operation on XPath objects content:
  5812.            @arg1 == @arg2 """
  5813.         ret = libxml2mod.xmlXPathEqualValues(self._o)
  5814.         return ret
  5815.  
  5816.     def xpathErr(self, error):
  5817.         """Handle an XPath error """
  5818.         libxml2mod.xmlXPathErr(self._o, error)
  5819.  
  5820.     def xpathEvalExpr(self):
  5821.         """Parse and evaluate an XPath expression in the given
  5822.            context, then push the result on the context stack """
  5823.         libxml2mod.xmlXPathEvalExpr(self._o)
  5824.  
  5825.     def xpathFalseFunction(self, nargs):
  5826.         """Implement the false() XPath function boolean false() """
  5827.         libxml2mod.xmlXPathFalseFunction(self._o, nargs)
  5828.  
  5829.     def xpathFloorFunction(self, nargs):
  5830.         """Implement the floor() XPath function number floor(number)
  5831.           The floor function returns the largest (closest to positive
  5832.           infinity) number that is not greater than the argument and
  5833.            that is an integer. """
  5834.         libxml2mod.xmlXPathFloorFunction(self._o, nargs)
  5835.  
  5836.     def xpathFreeParserContext(self):
  5837.         """Free up an xmlXPathParserContext """
  5838.         libxml2mod.xmlXPathFreeParserContext(self._o)
  5839.  
  5840.     def xpathIdFunction(self, nargs):
  5841.         """Implement the id() XPath function node-set id(object) The
  5842.           id function selects elements by their unique ID (see [5.2.1
  5843.           Unique IDs]). When the argument to id is of type node-set,
  5844.           then the result is the union of the result of applying id
  5845.           to the string value of each of the nodes in the argument
  5846.           node-set. When the argument to id is of any other type, the
  5847.           argument is converted to a string as if by a call to the
  5848.           string function; the string is split into a
  5849.           whitespace-separated list of tokens (whitespace is any
  5850.           sequence of characters matching the production S); the
  5851.           result is a node-set containing the elements in the same
  5852.           document as the context node that have a unique ID equal to
  5853.            any of the tokens in the list. """
  5854.         libxml2mod.xmlXPathIdFunction(self._o, nargs)
  5855.  
  5856.     def xpathLangFunction(self, nargs):
  5857.         """Implement the lang() XPath function boolean lang(string)
  5858.           The lang function returns true or false depending on
  5859.           whether the language of the context node as specified by
  5860.           xml:lang attributes is the same as or is a sublanguage of
  5861.           the language specified by the argument string. The language
  5862.           of the context node is determined by the value of the
  5863.           xml:lang attribute on the context node, or, if the context
  5864.           node has no xml:lang attribute, by the value of the
  5865.           xml:lang attribute on the nearest ancestor of the context
  5866.           node that has an xml:lang attribute. If there is no such
  5867.            attribute, then lang """
  5868.         libxml2mod.xmlXPathLangFunction(self._o, nargs)
  5869.  
  5870.     def xpathLastFunction(self, nargs):
  5871.         """Implement the last() XPath function number last() The last
  5872.           function returns the number of nodes in the context node
  5873.            list. """
  5874.         libxml2mod.xmlXPathLastFunction(self._o, nargs)
  5875.  
  5876.     def xpathLocalNameFunction(self, nargs):
  5877.         """Implement the local-name() XPath function string
  5878.           local-name(node-set?) The local-name function returns a
  5879.           string containing the local part of the name of the node in
  5880.           the argument node-set that is first in document order. If
  5881.           the node-set is empty or the first node has no name, an
  5882.           empty string is returned. If the argument is omitted it
  5883.            defaults to the context node. """
  5884.         libxml2mod.xmlXPathLocalNameFunction(self._o, nargs)
  5885.  
  5886.     def xpathModValues(self):
  5887.         """Implement the mod operation on XPath objects: @arg1 / @arg2
  5888.           The numeric operators convert their operands to numbers as
  5889.            if by calling the number function. """
  5890.         libxml2mod.xmlXPathModValues(self._o)
  5891.  
  5892.     def xpathMultValues(self):
  5893.         """Implement the multiply operation on XPath objects: The
  5894.           numeric operators convert their operands to numbers as if
  5895.            by calling the number function. """
  5896.         libxml2mod.xmlXPathMultValues(self._o)
  5897.  
  5898.     def xpathNamespaceURIFunction(self, nargs):
  5899.         """Implement the namespace-uri() XPath function string
  5900.           namespace-uri(node-set?) The namespace-uri function returns
  5901.           a string containing the namespace URI of the expanded name
  5902.           of the node in the argument node-set that is first in
  5903.           document order. If the node-set is empty, the first node
  5904.           has no name, or the expanded name has no namespace URI, an
  5905.           empty string is returned. If the argument is omitted it
  5906.            defaults to the context node. """
  5907.         libxml2mod.xmlXPathNamespaceURIFunction(self._o, nargs)
  5908.  
  5909.     def xpathNextAncestor(self, cur):
  5910.         """Traversal function for the "ancestor" direction the
  5911.           ancestor axis contains the ancestors of the context node;
  5912.           the ancestors of the context node consist of the parent of
  5913.           context node and the parent's parent and so on; the nodes
  5914.           are ordered in reverse document order; thus the parent is
  5915.           the first node on the axis, and the parent's parent is the
  5916.            second node on the axis """
  5917.         if cur is None: cur__o = None
  5918.         else: cur__o = cur._o
  5919.         ret = libxml2mod.xmlXPathNextAncestor(self._o, cur__o)
  5920.         if ret is None:raise xpathError('xmlXPathNextAncestor() failed')
  5921.         __tmp = xmlNode(_obj=ret)
  5922.         return __tmp
  5923.  
  5924.     def xpathNextAncestorOrSelf(self, cur):
  5925.         """Traversal function for the "ancestor-or-self" direction he
  5926.           ancestor-or-self axis contains the context node and
  5927.           ancestors of the context node in reverse document order;
  5928.           thus the context node is the first node on the axis, and
  5929.           the context node's parent the second; parent here is
  5930.            defined the same as with the parent axis. """
  5931.         if cur is None: cur__o = None
  5932.         else: cur__o = cur._o
  5933.         ret = libxml2mod.xmlXPathNextAncestorOrSelf(self._o, cur__o)
  5934.         if ret is None:raise xpathError('xmlXPathNextAncestorOrSelf() failed')
  5935.         __tmp = xmlNode(_obj=ret)
  5936.         return __tmp
  5937.  
  5938.     def xpathNextAttribute(self, cur):
  5939.         """Traversal function for the "attribute" direction TODO:
  5940.            support DTD inherited default attributes """
  5941.         if cur is None: cur__o = None
  5942.         else: cur__o = cur._o
  5943.         ret = libxml2mod.xmlXPathNextAttribute(self._o, cur__o)
  5944.         if ret is None:raise xpathError('xmlXPathNextAttribute() failed')
  5945.         __tmp = xmlNode(_obj=ret)
  5946.         return __tmp
  5947.  
  5948.     def xpathNextChild(self, cur):
  5949.         """Traversal function for the "child" direction The child axis
  5950.           contains the children of the context node in document order. """
  5951.         if cur is None: cur__o = None
  5952.         else: cur__o = cur._o
  5953.         ret = libxml2mod.xmlXPathNextChild(self._o, cur__o)
  5954.         if ret is None:raise xpathError('xmlXPathNextChild() failed')
  5955.         __tmp = xmlNode(_obj=ret)
  5956.         return __tmp
  5957.  
  5958.     def xpathNextDescendant(self, cur):
  5959.         """Traversal function for the "descendant" direction the
  5960.           descendant axis contains the descendants of the context
  5961.           node in document order; a descendant is a child or a child
  5962.            of a child and so on. """
  5963.         if cur is None: cur__o = None
  5964.         else: cur__o = cur._o
  5965.         ret = libxml2mod.xmlXPathNextDescendant(self._o, cur__o)
  5966.         if ret is None:raise xpathError('xmlXPathNextDescendant() failed')
  5967.         __tmp = xmlNode(_obj=ret)
  5968.         return __tmp
  5969.  
  5970.     def xpathNextDescendantOrSelf(self, cur):
  5971.         """Traversal function for the "descendant-or-self" direction
  5972.           the descendant-or-self axis contains the context node and
  5973.           the descendants of the context node in document order; thus
  5974.           the context node is the first node on the axis, and the
  5975.           first child of the context node is the second node on the
  5976.            axis """
  5977.         if cur is None: cur__o = None
  5978.         else: cur__o = cur._o
  5979.         ret = libxml2mod.xmlXPathNextDescendantOrSelf(self._o, cur__o)
  5980.         if ret is None:raise xpathError('xmlXPathNextDescendantOrSelf() failed')
  5981.         __tmp = xmlNode(_obj=ret)
  5982.         return __tmp
  5983.  
  5984.     def xpathNextFollowing(self, cur):
  5985.         """Traversal function for the "following" direction The
  5986.           following axis contains all nodes in the same document as
  5987.           the context node that are after the context node in
  5988.           document order, excluding any descendants and excluding
  5989.           attribute nodes and namespace nodes; the nodes are ordered
  5990.            in document order """
  5991.         if cur is None: cur__o = None
  5992.         else: cur__o = cur._o
  5993.         ret = libxml2mod.xmlXPathNextFollowing(self._o, cur__o)
  5994.         if ret is None:raise xpathError('xmlXPathNextFollowing() failed')
  5995.         __tmp = xmlNode(_obj=ret)
  5996.         return __tmp
  5997.  
  5998.     def xpathNextFollowingSibling(self, cur):
  5999.         """Traversal function for the "following-sibling" direction
  6000.           The following-sibling axis contains the following siblings
  6001.            of the context node in document order. """
  6002.         if cur is None: cur__o = None
  6003.         else: cur__o = cur._o
  6004.         ret = libxml2mod.xmlXPathNextFollowingSibling(self._o, cur__o)
  6005.         if ret is None:raise xpathError('xmlXPathNextFollowingSibling() failed')
  6006.         __tmp = xmlNode(_obj=ret)
  6007.         return __tmp
  6008.  
  6009.     def xpathNextNamespace(self, cur):
  6010.         """Traversal function for the "namespace" direction the
  6011.           namespace axis contains the namespace nodes of the context
  6012.           node; the order of nodes on this axis is
  6013.           implementation-defined; the axis will be empty unless the
  6014.           context node is an element  We keep the XML namespace node
  6015.            at the end of the list. """
  6016.         if cur is None: cur__o = None
  6017.         else: cur__o = cur._o
  6018.         ret = libxml2mod.xmlXPathNextNamespace(self._o, cur__o)
  6019.         if ret is None:raise xpathError('xmlXPathNextNamespace() failed')
  6020.         __tmp = xmlNode(_obj=ret)
  6021.         return __tmp
  6022.  
  6023.     def xpathNextParent(self, cur):
  6024.         """Traversal function for the "parent" direction The parent
  6025.           axis contains the parent of the context node, if there is
  6026.            one. """
  6027.         if cur is None: cur__o = None
  6028.         else: cur__o = cur._o
  6029.         ret = libxml2mod.xmlXPathNextParent(self._o, cur__o)
  6030.         if ret is None:raise xpathError('xmlXPathNextParent() failed')
  6031.         __tmp = xmlNode(_obj=ret)
  6032.         return __tmp
  6033.  
  6034.     def xpathNextPreceding(self, cur):
  6035.         """Traversal function for the "preceding" direction the
  6036.           preceding axis contains all nodes in the same document as
  6037.           the context node that are before the context node in
  6038.           document order, excluding any ancestors and excluding
  6039.           attribute nodes and namespace nodes; the nodes are ordered
  6040.            in reverse document order """
  6041.         if cur is None: cur__o = None
  6042.         else: cur__o = cur._o
  6043.         ret = libxml2mod.xmlXPathNextPreceding(self._o, cur__o)
  6044.         if ret is None:raise xpathError('xmlXPathNextPreceding() failed')
  6045.         __tmp = xmlNode(_obj=ret)
  6046.         return __tmp
  6047.  
  6048.     def xpathNextPrecedingSibling(self, cur):
  6049.         """Traversal function for the "preceding-sibling" direction
  6050.           The preceding-sibling axis contains the preceding siblings
  6051.           of the context node in reverse document order; the first
  6052.           preceding sibling is first on the axis; the sibling
  6053.            preceding that node is the second on the axis and so on. """
  6054.         if cur is None: cur__o = None
  6055.         else: cur__o = cur._o
  6056.         ret = libxml2mod.xmlXPathNextPrecedingSibling(self._o, cur__o)
  6057.         if ret is None:raise xpathError('xmlXPathNextPrecedingSibling() failed')
  6058.         __tmp = xmlNode(_obj=ret)
  6059.         return __tmp
  6060.  
  6061.     def xpathNextSelf(self, cur):
  6062.         """Traversal function for the "self" direction The self axis
  6063.            contains just the context node itself """
  6064.         if cur is None: cur__o = None
  6065.         else: cur__o = cur._o
  6066.         ret = libxml2mod.xmlXPathNextSelf(self._o, cur__o)
  6067.         if ret is None:raise xpathError('xmlXPathNextSelf() failed')
  6068.         __tmp = xmlNode(_obj=ret)
  6069.         return __tmp
  6070.  
  6071.     def xpathNormalizeFunction(self, nargs):
  6072.         """Implement the normalize-space() XPath function string
  6073.           normalize-space(string?) The normalize-space function
  6074.           returns the argument string with white space normalized by
  6075.           stripping leading and trailing whitespace and replacing
  6076.           sequences of whitespace characters by a single space.
  6077.           Whitespace characters are the same allowed by the S
  6078.           production in XML. If the argument is omitted, it defaults
  6079.           to the context node converted to a string, in other words
  6080.            the value of the context node. """
  6081.         libxml2mod.xmlXPathNormalizeFunction(self._o, nargs)
  6082.  
  6083.     def xpathNotEqualValues(self):
  6084.         """Implement the equal operation on XPath objects content:
  6085.            @arg1 == @arg2 """
  6086.         ret = libxml2mod.xmlXPathNotEqualValues(self._o)
  6087.         return ret
  6088.  
  6089.     def xpathNotFunction(self, nargs):
  6090.         """Implement the not() XPath function boolean not(boolean) The
  6091.           not function returns true if its argument is false, and
  6092.            false otherwise. """
  6093.         libxml2mod.xmlXPathNotFunction(self._o, nargs)
  6094.  
  6095.     def xpathNumberFunction(self, nargs):
  6096.         """Implement the number() XPath function number number(object?) """
  6097.         libxml2mod.xmlXPathNumberFunction(self._o, nargs)
  6098.  
  6099.     def xpathParseNCName(self):
  6100.         """parse an XML namespace non qualified name.  [NS 3] NCName
  6101.           ::= (Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::=
  6102.            Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender """
  6103.         ret = libxml2mod.xmlXPathParseNCName(self._o)
  6104.         return ret
  6105.  
  6106.     def xpathParseName(self):
  6107.         """parse an XML name  [4] NameChar ::= Letter | Digit | '.' |
  6108.           '-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
  6109.            (Letter | '_' | ':') (NameChar)* """
  6110.         ret = libxml2mod.xmlXPathParseName(self._o)
  6111.         return ret
  6112.  
  6113.     def xpathPopBoolean(self):
  6114.         """Pops a boolean from the stack, handling conversion if
  6115.            needed. Check error with #xmlXPathCheckError. """
  6116.         ret = libxml2mod.xmlXPathPopBoolean(self._o)
  6117.         return ret
  6118.  
  6119.     def xpathPopNumber(self):
  6120.         """Pops a number from the stack, handling conversion if
  6121.            needed. Check error with #xmlXPathCheckError. """
  6122.         ret = libxml2mod.xmlXPathPopNumber(self._o)
  6123.         return ret
  6124.  
  6125.     def xpathPopString(self):
  6126.         """Pops a string from the stack, handling conversion if
  6127.            needed. Check error with #xmlXPathCheckError. """
  6128.         ret = libxml2mod.xmlXPathPopString(self._o)
  6129.         return ret
  6130.  
  6131.     def xpathPositionFunction(self, nargs):
  6132.         """Implement the position() XPath function number position()
  6133.           The position function returns the position of the context
  6134.           node in the context node list. The first position is 1, and
  6135.            so the last position will be equal to last(). """
  6136.         libxml2mod.xmlXPathPositionFunction(self._o, nargs)
  6137.  
  6138.     def xpathRoot(self):
  6139.         """Initialize the context to the root of the document """
  6140.         libxml2mod.xmlXPathRoot(self._o)
  6141.  
  6142.     def xpathRoundFunction(self, nargs):
  6143.         """Implement the round() XPath function number round(number)
  6144.           The round function returns the number that is closest to
  6145.           the argument and that is an integer. If there are two such
  6146.            numbers, then the one that is even is returned. """
  6147.         libxml2mod.xmlXPathRoundFunction(self._o, nargs)
  6148.  
  6149.     def xpathStartsWithFunction(self, nargs):
  6150.         """Implement the starts-with() XPath function boolean
  6151.           starts-with(string, string) The starts-with function
  6152.           returns true if the first argument string starts with the
  6153.            second argument string, and otherwise returns false. """
  6154.         libxml2mod.xmlXPathStartsWithFunction(self._o, nargs)
  6155.  
  6156.     def xpathStringFunction(self, nargs):
  6157.         """Implement the string() XPath function string
  6158.           string(object?) The string function converts an object to a
  6159.           string as follows: - A node-set is converted to a string by
  6160.           returning the value of the node in the node-set that is
  6161.           first in document order. If the node-set is empty, an empty
  6162.           string is returned. - A number is converted to a string as
  6163.           follows + NaN is converted to the string NaN + positive
  6164.           zero is converted to the string 0 + negative zero is
  6165.           converted to the string 0 + positive infinity is converted
  6166.           to the string Infinity + negative infinity is converted to
  6167.           the string -Infinity + if the number is an integer, the
  6168.           number is represented in decimal form as a Number with no
  6169.           decimal point and no leading zeros, preceded by a minus
  6170.           sign (-) if the number is negative + otherwise, the number
  6171.           is represented in decimal form as a Number including a
  6172.           decimal point with at least one digit before the decimal
  6173.           point and at least one digit after the decimal point,
  6174.           preceded by a minus sign (-) if the number is negative;
  6175.           there must be no leading zeros before the decimal point
  6176.           apart possibly from the one required digit immediately
  6177.           before the decimal point; beyond the one required digit
  6178.           after the decimal point there must be as many, but only as
  6179.           many, more digits as are needed to uniquely distinguish the
  6180.           number from all other IEEE 754 numeric values. - The
  6181.           boolean false value is converted to the string false. The
  6182.           boolean true value is converted to the string true.  If the
  6183.           argument is omitted, it defaults to a node-set with the
  6184.            context node as its only member. """
  6185.         libxml2mod.xmlXPathStringFunction(self._o, nargs)
  6186.  
  6187.     def xpathStringLengthFunction(self, nargs):
  6188.         """Implement the string-length() XPath function number
  6189.           string-length(string?) The string-length returns the number
  6190.           of characters in the string (see [3.6 Strings]). If the
  6191.           argument is omitted, it defaults to the context node
  6192.           converted to a string, in other words the value of the
  6193.            context node. """
  6194.         libxml2mod.xmlXPathStringLengthFunction(self._o, nargs)
  6195.  
  6196.     def xpathSubValues(self):
  6197.         """Implement the subtraction operation on XPath objects: The
  6198.           numeric operators convert their operands to numbers as if
  6199.            by calling the number function. """
  6200.         libxml2mod.xmlXPathSubValues(self._o)
  6201.  
  6202.     def xpathSubstringAfterFunction(self, nargs):
  6203.         """Implement the substring-after() XPath function string
  6204.           substring-after(string, string) The substring-after
  6205.           function returns the substring of the first argument string
  6206.           that follows the first occurrence of the second argument
  6207.           string in the first argument string, or the empty stringi
  6208.           if the first argument string does not contain the second
  6209.           argument string. For example,
  6210.           substring-after("1999/04/01","/") returns 04/01, and
  6211.            substring-after("1999/04/01","19") returns 99/04/01. """
  6212.         libxml2mod.xmlXPathSubstringAfterFunction(self._o, nargs)
  6213.  
  6214.     def xpathSubstringBeforeFunction(self, nargs):
  6215.         """Implement the substring-before() XPath function string
  6216.           substring-before(string, string) The substring-before
  6217.           function returns the substring of the first argument string
  6218.           that precedes the first occurrence of the second argument
  6219.           string in the first argument string, or the empty string if
  6220.           the first argument string does not contain the second
  6221.           argument string. For example,
  6222.            substring-before("1999/04/01","/") returns 1999. """
  6223.         libxml2mod.xmlXPathSubstringBeforeFunction(self._o, nargs)
  6224.  
  6225.     def xpathSubstringFunction(self, nargs):
  6226.         """Implement the substring() XPath function string
  6227.           substring(string, number, number?) The substring function
  6228.           returns the substring of the first argument starting at the
  6229.           position specified in the second argument with length
  6230.           specified in the third argument. For example,
  6231.           substring("12345",2,3) returns "234". If the third argument
  6232.           is not specified, it returns the substring starting at the
  6233.           position specified in the second argument and continuing to
  6234.           the end of the string. For example, substring("12345",2)
  6235.           returns "2345".  More precisely, each character in the
  6236.           string (see [3.6 Strings]) is considered to have a numeric
  6237.           position: the position of the first character is 1, the
  6238.           position of the second character is 2 and so on. The
  6239.           returned substring contains those characters for which the
  6240.           position of the character is greater than or equal to the
  6241.           second argument and, if the third argument is specified,
  6242.           less than the sum of the second and third arguments; the
  6243.           comparisons and addition used for the above follow the
  6244.           standard IEEE 754 rules. Thus: - substring("12345", 1.5,
  6245.           2.6) returns "234" - substring("12345", 0, 3) returns "12"
  6246.           - substring("12345", 0 div 0, 3) returns "" -
  6247.           substring("12345", 1, 0 div 0) returns "" -
  6248.           substring("12345", -42, 1 div 0) returns "12345" -
  6249.            substring("12345", -1 div 0, 1 div 0) returns "" """
  6250.         libxml2mod.xmlXPathSubstringFunction(self._o, nargs)
  6251.  
  6252.     def xpathSumFunction(self, nargs):
  6253.         """Implement the sum() XPath function number sum(node-set) The
  6254.           sum function returns the sum of the values of the nodes in
  6255.            the argument node-set. """
  6256.         libxml2mod.xmlXPathSumFunction(self._o, nargs)
  6257.  
  6258.     def xpathTranslateFunction(self, nargs):
  6259.         """Implement the translate() XPath function string
  6260.           translate(string, string, string) The translate function
  6261.           returns the first argument string with occurrences of
  6262.           characters in the second argument string replaced by the
  6263.           character at the corresponding position in the third
  6264.           argument string. For example, translate("bar","abc","ABC")
  6265.           returns the string BAr. If there is a character in the
  6266.           second argument string with no character at a corresponding
  6267.           position in the third argument string (because the second
  6268.           argument string is longer than the third argument string),
  6269.           then occurrences of that character in the first argument
  6270.           string are removed. For example,
  6271.            translate("--aaa--","abc-","ABC") """
  6272.         libxml2mod.xmlXPathTranslateFunction(self._o, nargs)
  6273.  
  6274.     def xpathTrueFunction(self, nargs):
  6275.         """Implement the true() XPath function boolean true() """
  6276.         libxml2mod.xmlXPathTrueFunction(self._o, nargs)
  6277.  
  6278.     def xpathValueFlipSign(self):
  6279.         """Implement the unary - operation on an XPath object The
  6280.           numeric operators convert their operands to numbers as if
  6281.            by calling the number function. """
  6282.         libxml2mod.xmlXPathValueFlipSign(self._o)
  6283.  
  6284.     def xpatherror(self, file, line, no):
  6285.         """Formats an error message. """
  6286.         libxml2mod.xmlXPatherror(self._o, file, line, no)
  6287.  
  6288.     #
  6289.     # xpathParserContext functions from module xpointer
  6290.     #
  6291.  
  6292.     def xpointerEvalRangePredicate(self):
  6293.         """[8]   Predicate ::=   '[' PredicateExpr ']' [9]  
  6294.           PredicateExpr ::=   Expr  Evaluate a predicate as in
  6295.           xmlXPathEvalPredicate() but for a Location Set instead of a
  6296.            node set """
  6297.         libxml2mod.xmlXPtrEvalRangePredicate(self._o)
  6298.  
  6299.     def xpointerRangeToFunction(self, nargs):
  6300.         """Implement the range-to() XPointer function """
  6301.         libxml2mod.xmlXPtrRangeToFunction(self._o, nargs)
  6302.  
  6303. class SchemaParserCtxt:
  6304.     def __init__(self, _obj=None):
  6305.         if _obj != None:self._o = _obj;return
  6306.         self._o = None
  6307.  
  6308.     def __del__(self):
  6309.         if self._o != None:
  6310.             libxml2mod.xmlSchemaFreeParserCtxt(self._o)
  6311.         self._o = None
  6312.  
  6313.     #
  6314.     # SchemaParserCtxt functions from module xmlschemas
  6315.     #
  6316.  
  6317.     def schemaParse(self):
  6318.         """parse a schema definition resource and build an internal
  6319.            XML Shema struture which can be used to validate instances. """
  6320.         ret = libxml2mod.xmlSchemaParse(self._o)
  6321.         if ret is None:raise parserError('xmlSchemaParse() failed')
  6322.         __tmp = Schema(_obj=ret)
  6323.         return __tmp
  6324.  
  6325. class ValidCtxt(ValidCtxtCore):
  6326.     def __init__(self, _obj=None):
  6327.         self._o = _obj
  6328.         ValidCtxtCore.__init__(self, _obj=_obj)
  6329.  
  6330.     def __del__(self):
  6331.         if self._o != None:
  6332.             libxml2mod.xmlFreeValidCtxt(self._o)
  6333.         self._o = None
  6334.  
  6335.     #
  6336.     # ValidCtxt functions from module valid
  6337.     #
  6338.  
  6339.     def validCtxtNormalizeAttributeValue(self, doc, elem, name, value):
  6340.         """Does the validation related extra step of the normalization
  6341.           of attribute values:  If the declared value is not CDATA,
  6342.           then the XML processor must further process the normalized
  6343.           attribute value by discarding any leading and trailing
  6344.           space (#x20) characters, and by replacing sequences of
  6345.           space (#x20) characters by single space (#x20) character. 
  6346.           Also  check VC: Standalone Document Declaration in P32, and
  6347.            update ctxt->valid accordingly """
  6348.         if doc is None: doc__o = None
  6349.         else: doc__o = doc._o
  6350.         if elem is None: elem__o = None
  6351.         else: elem__o = elem._o
  6352.         ret = libxml2mod.xmlValidCtxtNormalizeAttributeValue(self._o, doc__o, elem__o, name, value)
  6353.         return ret
  6354.  
  6355.     def validateDocument(self, doc):
  6356.         """Try to validate the document instance  basically it does
  6357.           the all the checks described by the XML Rec i.e. validates
  6358.           the internal and external subset (if present) and validate
  6359.            the document tree. """
  6360.         if doc is None: doc__o = None
  6361.         else: doc__o = doc._o
  6362.         ret = libxml2mod.xmlValidateDocument(self._o, doc__o)
  6363.         return ret
  6364.  
  6365.     def validateDocumentFinal(self, doc):
  6366.         """Does the final step for the document validation once all
  6367.           the incremental validation steps have been completed 
  6368.           basically it does the following checks described by the XML
  6369.           Rec  Check all the IDREF/IDREFS attributes definition for
  6370.            validity """
  6371.         if doc is None: doc__o = None
  6372.         else: doc__o = doc._o
  6373.         ret = libxml2mod.xmlValidateDocumentFinal(self._o, doc__o)
  6374.         return ret
  6375.  
  6376.     def validateDtd(self, doc, dtd):
  6377.         """Try to validate the document against the dtd instance 
  6378.           Basically it does check all the definitions in the DtD.
  6379.           Note the the internal subset (if present) is de-coupled
  6380.           (i.e. not used), which could give problems if ID or IDREF
  6381.            is present. """
  6382.         if doc is None: doc__o = None
  6383.         else: doc__o = doc._o
  6384.         if dtd is None: dtd__o = None
  6385.         else: dtd__o = dtd._o
  6386.         ret = libxml2mod.xmlValidateDtd(self._o, doc__o, dtd__o)
  6387.         return ret
  6388.  
  6389.     def validateDtdFinal(self, doc):
  6390.         """Does the final step for the dtds validation once all the
  6391.           subsets have been parsed  basically it does the following
  6392.           checks described by the XML Rec - check that ENTITY and
  6393.           ENTITIES type attributes default or possible values matches
  6394.           one of the defined entities. - check that NOTATION type
  6395.           attributes default or possible values matches one of the
  6396.            defined notations. """
  6397.         if doc is None: doc__o = None
  6398.         else: doc__o = doc._o
  6399.         ret = libxml2mod.xmlValidateDtdFinal(self._o, doc__o)
  6400.         return ret
  6401.  
  6402.     def validateElement(self, doc, elem):
  6403.         """Try to validate the subtree under an element """
  6404.         if doc is None: doc__o = None
  6405.         else: doc__o = doc._o
  6406.         if elem is None: elem__o = None
  6407.         else: elem__o = elem._o
  6408.         ret = libxml2mod.xmlValidateElement(self._o, doc__o, elem__o)
  6409.         return ret
  6410.  
  6411.     def validateNotationUse(self, doc, notationName):
  6412.         """Validate that the given name match a notation declaration.
  6413.            - [ VC: Notation Declared ] """
  6414.         if doc is None: doc__o = None
  6415.         else: doc__o = doc._o
  6416.         ret = libxml2mod.xmlValidateNotationUse(self._o, doc__o, notationName)
  6417.         return ret
  6418.  
  6419.     def validateOneAttribute(self, doc, elem, attr, value):
  6420.         """Try to validate a single attribute for an element basically
  6421.           it does the following checks as described by the XML-1.0
  6422.           recommendation: - [ VC: Attribute Value Type ] - [ VC:
  6423.           Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC:
  6424.           Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity
  6425.           Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  6426.            uniqueness and matching are done separately """
  6427.         if doc is None: doc__o = None
  6428.         else: doc__o = doc._o
  6429.         if elem is None: elem__o = None
  6430.         else: elem__o = elem._o
  6431.         if attr is None: attr__o = None
  6432.         else: attr__o = attr._o
  6433.         ret = libxml2mod.xmlValidateOneAttribute(self._o, doc__o, elem__o, attr__o, value)
  6434.         return ret
  6435.  
  6436.     def validateOneElement(self, doc, elem):
  6437.         """Try to validate a single element and it's attributes,
  6438.           basically it does the following checks as described by the
  6439.           XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC:
  6440.           Required Attribute ] Then call xmlValidateOneAttribute()
  6441.           for each attribute present.  The ID/IDREF checkings are
  6442.            done separately """
  6443.         if doc is None: doc__o = None
  6444.         else: doc__o = doc._o
  6445.         if elem is None: elem__o = None
  6446.         else: elem__o = elem._o
  6447.         ret = libxml2mod.xmlValidateOneElement(self._o, doc__o, elem__o)
  6448.         return ret
  6449.  
  6450.     def validateOneNamespace(self, doc, elem, prefix, ns, value):
  6451.         """Try to validate a single namespace declaration for an
  6452.           element basically it does the following checks as described
  6453.           by the XML-1.0 recommendation: - [ VC: Attribute Value Type
  6454.           ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] -
  6455.           [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC:
  6456.           Entity Name ] - [ VC: Notation Attributes ]  The ID/IDREF
  6457.            uniqueness and matching are done separately """
  6458.         if doc is None: doc__o = None
  6459.         else: doc__o = doc._o
  6460.         if elem is None: elem__o = None
  6461.         else: elem__o = elem._o
  6462.         if ns is None: ns__o = None
  6463.         else: ns__o = ns._o
  6464.         ret = libxml2mod.xmlValidateOneNamespace(self._o, doc__o, elem__o, prefix, ns__o, value)
  6465.         return ret
  6466.  
  6467.     def validatePopElement(self, doc, elem, qname):
  6468.         """Pop the element end from the validation stack. """
  6469.         if doc is None: doc__o = None
  6470.         else: doc__o = doc._o
  6471.         if elem is None: elem__o = None
  6472.         else: elem__o = elem._o
  6473.         ret = libxml2mod.xmlValidatePopElement(self._o, doc__o, elem__o, qname)
  6474.         return ret
  6475.  
  6476.     def validatePushCData(self, data, len):
  6477.         """check the CData parsed for validation in the current stack """
  6478.         ret = libxml2mod.xmlValidatePushCData(self._o, data, len)
  6479.         return ret
  6480.  
  6481.     def validatePushElement(self, doc, elem, qname):
  6482.         """Push a new element start on the validation stack. """
  6483.         if doc is None: doc__o = None
  6484.         else: doc__o = doc._o
  6485.         if elem is None: elem__o = None
  6486.         else: elem__o = elem._o
  6487.         ret = libxml2mod.xmlValidatePushElement(self._o, doc__o, elem__o, qname)
  6488.         return ret
  6489.  
  6490.     def validateRoot(self, doc):
  6491.         """Try to validate a the root element basically it does the
  6492.           following check as described by the XML-1.0 recommendation:
  6493.           - [ VC: Root Element Type ] it doesn't try to recurse or
  6494.            apply other check to the element """
  6495.         if doc is None: doc__o = None
  6496.         else: doc__o = doc._o
  6497.         ret = libxml2mod.xmlValidateRoot(self._o, doc__o)
  6498.         return ret
  6499.  
  6500. class xmlNs(xmlNode):
  6501.     def __init__(self, _obj=None):
  6502.         if type(_obj).__name__ != 'PyCObject':
  6503.             raise TypeError, 'xmlNs needs a PyCObject argument'
  6504.         self._o = _obj
  6505.         xmlNode.__init__(self, _obj=_obj)
  6506.  
  6507.     def __repr__(self):
  6508.         return "<xmlNs (%s) object at 0x%x>" % (self.name, long(pos_id (self)))
  6509.  
  6510.     #
  6511.     # xmlNs functions from module tree
  6512.     #
  6513.  
  6514.     def copyNamespace(self):
  6515.         """Do a copy of the namespace. """
  6516.         ret = libxml2mod.xmlCopyNamespace(self._o)
  6517.         if ret is None:raise treeError('xmlCopyNamespace() failed')
  6518.         __tmp = xmlNs(_obj=ret)
  6519.         return __tmp
  6520.  
  6521.     def copyNamespaceList(self):
  6522.         """Do a copy of an namespace list. """
  6523.         ret = libxml2mod.xmlCopyNamespaceList(self._o)
  6524.         if ret is None:raise treeError('xmlCopyNamespaceList() failed')
  6525.         __tmp = xmlNs(_obj=ret)
  6526.         return __tmp
  6527.  
  6528.     def freeNs(self):
  6529.         """Free up the structures associated to a namespace """
  6530.         libxml2mod.xmlFreeNs(self._o)
  6531.  
  6532.     def freeNsList(self):
  6533.         """Free up all the structures associated to the chained
  6534.            namespaces. """
  6535.         libxml2mod.xmlFreeNsList(self._o)
  6536.  
  6537.     def newChild(self, parent, name, content):
  6538.         """Creation of a new child element, added at the end of
  6539.           @parent children list. @ns and @content parameters are
  6540.           optional (None). If @ns is None, the newly created element
  6541.           inherits the namespace of @parent. If @content is non None,
  6542.           a child list containing the TEXTs and ENTITY_REFs node will
  6543.           be created. NOTE: @content is supposed to be a piece of XML
  6544.           CDATA, so it allows entity references. XML special chars
  6545.           must be escaped first by using
  6546.           xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should
  6547.            be used. """
  6548.         if parent is None: parent__o = None
  6549.         else: parent__o = parent._o
  6550.         ret = libxml2mod.xmlNewChild(parent__o, self._o, name, content)
  6551.         if ret is None:raise treeError('xmlNewChild() failed')
  6552.         __tmp = xmlNode(_obj=ret)
  6553.         return __tmp
  6554.  
  6555.     def newDocNode(self, doc, name, content):
  6556.         """Creation of a new node element within a document. @ns and
  6557.           @content are optional (None). NOTE: @content is supposed to
  6558.           be a piece of XML CDATA, so it allow entities references,
  6559.           but XML special chars need to be escaped first by using
  6560.           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
  6561.            don't need entities support. """
  6562.         if doc is None: doc__o = None
  6563.         else: doc__o = doc._o
  6564.         ret = libxml2mod.xmlNewDocNode(doc__o, self._o, name, content)
  6565.         if ret is None:raise treeError('xmlNewDocNode() failed')
  6566.         __tmp = xmlNode(_obj=ret)
  6567.         return __tmp
  6568.  
  6569.     def newDocNodeEatName(self, doc, name, content):
  6570.         """Creation of a new node element within a document. @ns and
  6571.           @content are optional (None). NOTE: @content is supposed to
  6572.           be a piece of XML CDATA, so it allow entities references,
  6573.           but XML special chars need to be escaped first by using
  6574.           xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
  6575.            don't need entities support. """
  6576.         if doc is None: doc__o = None
  6577.         else: doc__o = doc._o
  6578.         ret = libxml2mod.xmlNewDocNodeEatName(doc__o, self._o, name, content)
  6579.         if ret is None:raise treeError('xmlNewDocNodeEatName() failed')
  6580.         __tmp = xmlNode(_obj=ret)
  6581.         return __tmp
  6582.  
  6583.     def newDocRawNode(self, doc, name, content):
  6584.         """Creation of a new node element within a document. @ns and
  6585.            @content are optional (None). """
  6586.         if doc is None: doc__o = None
  6587.         else: doc__o = doc._o
  6588.         ret = libxml2mod.xmlNewDocRawNode(doc__o, self._o, name, content)
  6589.         if ret is None:raise treeError('xmlNewDocRawNode() failed')
  6590.         __tmp = xmlNode(_obj=ret)
  6591.         return __tmp
  6592.  
  6593.     def newNodeEatName(self, name):
  6594.         """Creation of a new node element. @ns is optional (None). """
  6595.         ret = libxml2mod.xmlNewNodeEatName(self._o, name)
  6596.         if ret is None:raise treeError('xmlNewNodeEatName() failed')
  6597.         __tmp = xmlNode(_obj=ret)
  6598.         return __tmp
  6599.  
  6600.     def newNsProp(self, node, name, value):
  6601.         """Create a new property tagged with a namespace and carried
  6602.            by a node. """
  6603.         if node is None: node__o = None
  6604.         else: node__o = node._o
  6605.         ret = libxml2mod.xmlNewNsProp(node__o, self._o, name, value)
  6606.         if ret is None:raise treeError('xmlNewNsProp() failed')
  6607.         __tmp = xmlAttr(_obj=ret)
  6608.         return __tmp
  6609.  
  6610.     def newNsPropEatName(self, node, name, value):
  6611.         """Create a new property tagged with a namespace and carried
  6612.            by a node. """
  6613.         if node is None: node__o = None
  6614.         else: node__o = node._o
  6615.         ret = libxml2mod.xmlNewNsPropEatName(node__o, self._o, name, value)
  6616.         if ret is None:raise treeError('xmlNewNsPropEatName() failed')
  6617.         __tmp = xmlAttr(_obj=ret)
  6618.         return __tmp
  6619.  
  6620.     def newTextChild(self, parent, name, content):
  6621.         """Creation of a new child element, added at the end of
  6622.           @parent children list. @ns and @content parameters are
  6623.           optional (None). If @ns is None, the newly created element
  6624.           inherits the namespace of @parent. If @content is non None,
  6625.           a child TEXT node will be created containing the string
  6626.           @content. NOTE: Use xmlNewChild() if @content will contain
  6627.           entities that need to be preserved. Use this function,
  6628.           xmlNewTextChild(), if you need to ensure that reserved XML
  6629.           chars that might appear in @content, such as the ampersand,
  6630.           greater-than or less-than signs, are automatically replaced
  6631.            by their XML escaped entity representations. """
  6632.         if parent is None: parent__o = None
  6633.         else: parent__o = parent._o
  6634.         ret = libxml2mod.xmlNewTextChild(parent__o, self._o, name, content)
  6635.         if ret is None:raise treeError('xmlNewTextChild() failed')
  6636.         __tmp = xmlNode(_obj=ret)
  6637.         return __tmp
  6638.  
  6639.     def setNs(self, node):
  6640.         """Associate a namespace to a node, a posteriori. """
  6641.         if node is None: node__o = None
  6642.         else: node__o = node._o
  6643.         libxml2mod.xmlSetNs(node__o, self._o)
  6644.  
  6645.     def setNsProp(self, node, name, value):
  6646.         """Set (or reset) an attribute carried by a node. The ns
  6647.            structure must be in scope, this is not checked """
  6648.         if node is None: node__o = None
  6649.         else: node__o = node._o
  6650.         ret = libxml2mod.xmlSetNsProp(node__o, self._o, name, value)
  6651.         if ret is None:raise treeError('xmlSetNsProp() failed')
  6652.         __tmp = xmlAttr(_obj=ret)
  6653.         return __tmp
  6654.  
  6655.     def unsetNsProp(self, node, name):
  6656.         """Remove an attribute carried by a node. """
  6657.         if node is None: node__o = None
  6658.         else: node__o = node._o
  6659.         ret = libxml2mod.xmlUnsetNsProp(node__o, self._o, name)
  6660.         return ret
  6661.  
  6662.     #
  6663.     # xmlNs functions from module xpathInternals
  6664.     #
  6665.  
  6666.     def xpathNodeSetFreeNs(self):
  6667.         """Namespace nodes in libxml don't match the XPath semantic.
  6668.           In a node set the namespace nodes are duplicated and the
  6669.           next pointer is set to the parent node in the XPath
  6670.            semantic. Check if such a node needs to be freed """
  6671.         libxml2mod.xmlXPathNodeSetFreeNs(self._o)
  6672.  
  6673. class xmlTextReaderLocator:
  6674.     def __init__(self, _obj=None):
  6675.         if _obj != None:self._o = _obj;return
  6676.         self._o = None
  6677.  
  6678.     #
  6679.     # xmlTextReaderLocator functions from module xmlreader
  6680.     #
  6681.  
  6682.     def BaseURI(self):
  6683.         """Obtain the base URI for the given locator. """
  6684.         ret = libxml2mod.xmlTextReaderLocatorBaseURI(self._o)
  6685.         return ret
  6686.  
  6687.     def LineNumber(self):
  6688.         """Obtain the line number for the given locator. """
  6689.         ret = libxml2mod.xmlTextReaderLocatorLineNumber(self._o)
  6690.         return ret
  6691.  
  6692. class URI:
  6693.     def __init__(self, _obj=None):
  6694.         if _obj != None:self._o = _obj;return
  6695.         self._o = None
  6696.  
  6697.     def __del__(self):
  6698.         if self._o != None:
  6699.             libxml2mod.xmlFreeURI(self._o)
  6700.         self._o = None
  6701.  
  6702.     # accessors for URI
  6703.     def authority(self):
  6704.         """Get the authority part from an URI """
  6705.         ret = libxml2mod.xmlURIGetAuthority(self._o)
  6706.         return ret
  6707.  
  6708.     def fragment(self):
  6709.         """Get the fragment part from an URI """
  6710.         ret = libxml2mod.xmlURIGetFragment(self._o)
  6711.         return ret
  6712.  
  6713.     def opaque(self):
  6714.         """Get the opaque part from an URI """
  6715.         ret = libxml2mod.xmlURIGetOpaque(self._o)
  6716.         return ret
  6717.  
  6718.     def path(self):
  6719.         """Get the path part from an URI """
  6720.         ret = libxml2mod.xmlURIGetPath(self._o)
  6721.         return ret
  6722.  
  6723.     def port(self):
  6724.         """Get the port part from an URI """
  6725.         ret = libxml2mod.xmlURIGetPort(self._o)
  6726.         return ret
  6727.  
  6728.     def query(self):
  6729.         """Get the query part from an URI """
  6730.         ret = libxml2mod.xmlURIGetQuery(self._o)
  6731.         return ret
  6732.  
  6733.     def queryRaw(self):
  6734.         """Get the raw query part from an URI (i.e. the unescaped
  6735.            form). """
  6736.         ret = libxml2mod.xmlURIGetQueryRaw(self._o)
  6737.         return ret
  6738.  
  6739.     def scheme(self):
  6740.         """Get the scheme part from an URI """
  6741.         ret = libxml2mod.xmlURIGetScheme(self._o)
  6742.         return ret
  6743.  
  6744.     def server(self):
  6745.         """Get the server part from an URI """
  6746.         ret = libxml2mod.xmlURIGetServer(self._o)
  6747.         return ret
  6748.  
  6749.     def setAuthority(self, authority):
  6750.         """Set the authority part of an URI. """
  6751.         libxml2mod.xmlURISetAuthority(self._o, authority)
  6752.  
  6753.     def setFragment(self, fragment):
  6754.         """Set the fragment part of an URI. """
  6755.         libxml2mod.xmlURISetFragment(self._o, fragment)
  6756.  
  6757.     def setOpaque(self, opaque):
  6758.         """Set the opaque part of an URI. """
  6759.         libxml2mod.xmlURISetOpaque(self._o, opaque)
  6760.  
  6761.     def setPath(self, path):
  6762.         """Set the path part of an URI. """
  6763.         libxml2mod.xmlURISetPath(self._o, path)
  6764.  
  6765.     def setPort(self, port):
  6766.         """Set the port part of an URI. """
  6767.         libxml2mod.xmlURISetPort(self._o, port)
  6768.  
  6769.     def setQuery(self, query):
  6770.         """Set the query part of an URI. """
  6771.         libxml2mod.xmlURISetQuery(self._o, query)
  6772.  
  6773.     def setQueryRaw(self, query_raw):
  6774.         """Set the raw query part of an URI (i.e. the unescaped form). """
  6775.         libxml2mod.xmlURISetQueryRaw(self._o, query_raw)
  6776.  
  6777.     def setScheme(self, scheme):
  6778.         """Set the scheme part of an URI. """
  6779.         libxml2mod.xmlURISetScheme(self._o, scheme)
  6780.  
  6781.     def setServer(self, server):
  6782.         """Set the server part of an URI. """
  6783.         libxml2mod.xmlURISetServer(self._o, server)
  6784.  
  6785.     def setUser(self, user):
  6786.         """Set the user part of an URI. """
  6787.         libxml2mod.xmlURISetUser(self._o, user)
  6788.  
  6789.     def user(self):
  6790.         """Get the user part from an URI """
  6791.         ret = libxml2mod.xmlURIGetUser(self._o)
  6792.         return ret
  6793.  
  6794.     #
  6795.     # URI functions from module uri
  6796.     #
  6797.  
  6798.     def parseURIReference(self, str):
  6799.         """Parse an URI reference string based on RFC 3986 and fills
  6800.           in the appropriate fields of the @uri structure 
  6801.            URI-reference = URI / relative-ref """
  6802.         ret = libxml2mod.xmlParseURIReference(self._o, str)
  6803.         return ret
  6804.  
  6805.     def printURI(self, stream):
  6806.         """Prints the URI in the stream @stream. """
  6807.         libxml2mod.xmlPrintURI(stream, self._o)
  6808.  
  6809.     def saveUri(self):
  6810.         """Save the URI as an escaped string """
  6811.         ret = libxml2mod.xmlSaveUri(self._o)
  6812.         return ret
  6813.  
  6814. class xmlAttribute(xmlNode):
  6815.     def __init__(self, _obj=None):
  6816.         if type(_obj).__name__ != 'PyCObject':
  6817.             raise TypeError, 'xmlAttribute needs a PyCObject argument'
  6818.         self._o = _obj
  6819.         xmlNode.__init__(self, _obj=_obj)
  6820.  
  6821.     def __repr__(self):
  6822.         return "<xmlAttribute (%s) object at 0x%x>" % (self.name, long(pos_id (self)))
  6823.  
  6824. class catalog:
  6825.     def __init__(self, _obj=None):
  6826.         if _obj != None:self._o = _obj;return
  6827.         self._o = None
  6828.  
  6829.     def __del__(self):
  6830.         if self._o != None:
  6831.             libxml2mod.xmlFreeCatalog(self._o)
  6832.         self._o = None
  6833.  
  6834.     #
  6835.     # catalog functions from module catalog
  6836.     #
  6837.  
  6838.     def add(self, type, orig, replace):
  6839.         """Add an entry in the catalog, it may overwrite existing but
  6840.            different entries. """
  6841.         ret = libxml2mod.xmlACatalogAdd(self._o, type, orig, replace)
  6842.         return ret
  6843.  
  6844.     def catalogIsEmpty(self):
  6845.         """Check is a catalog is empty """
  6846.         ret = libxml2mod.xmlCatalogIsEmpty(self._o)
  6847.         return ret
  6848.  
  6849.     def convertSGMLCatalog(self):
  6850.         """Convert all the SGML catalog entries as XML ones """
  6851.         ret = libxml2mod.xmlConvertSGMLCatalog(self._o)
  6852.         return ret
  6853.  
  6854.     def dump(self, out):
  6855.         """Dump the given catalog to the given file. """
  6856.         libxml2mod.xmlACatalogDump(self._o, out)
  6857.  
  6858.     def remove(self, value):
  6859.         """Remove an entry from the catalog """
  6860.         ret = libxml2mod.xmlACatalogRemove(self._o, value)
  6861.         return ret
  6862.  
  6863.     def resolve(self, pubID, sysID):
  6864.         """Do a complete resolution lookup of an External Identifier """
  6865.         ret = libxml2mod.xmlACatalogResolve(self._o, pubID, sysID)
  6866.         return ret
  6867.  
  6868.     def resolvePublic(self, pubID):
  6869.         """Try to lookup the catalog local reference associated to a
  6870.            public ID in that catalog """
  6871.         ret = libxml2mod.xmlACatalogResolvePublic(self._o, pubID)
  6872.         return ret
  6873.  
  6874.     def resolveSystem(self, sysID):
  6875.         """Try to lookup the catalog resource for a system ID """
  6876.         ret = libxml2mod.xmlACatalogResolveSystem(self._o, sysID)
  6877.         return ret
  6878.  
  6879.     def resolveURI(self, URI):
  6880.         """Do a complete resolution lookup of an URI """
  6881.         ret = libxml2mod.xmlACatalogResolveURI(self._o, URI)
  6882.         return ret
  6883.  
  6884. class xpathContext:
  6885.     def __init__(self, _obj=None):
  6886.         if _obj != None:self._o = _obj;return
  6887.         self._o = None
  6888.  
  6889.     # accessors for xpathContext
  6890.     def contextDoc(self):
  6891.         """Get the doc from an xpathContext """
  6892.         ret = libxml2mod.xmlXPathGetContextDoc(self._o)
  6893.         if ret is None:raise xpathError('xmlXPathGetContextDoc() failed')
  6894.         __tmp = xmlDoc(_obj=ret)
  6895.         return __tmp
  6896.  
  6897.     def contextNode(self):
  6898.         """Get the current node from an xpathContext """
  6899.         ret = libxml2mod.xmlXPathGetContextNode(self._o)
  6900.         if ret is None:raise xpathError('xmlXPathGetContextNode() failed')
  6901.         __tmp = xmlNode(_obj=ret)
  6902.         return __tmp
  6903.  
  6904.     def contextPosition(self):
  6905.         """Get the current node from an xpathContext """
  6906.         ret = libxml2mod.xmlXPathGetContextPosition(self._o)
  6907.         return ret
  6908.  
  6909.     def contextSize(self):
  6910.         """Get the current node from an xpathContext """
  6911.         ret = libxml2mod.xmlXPathGetContextSize(self._o)
  6912.         return ret
  6913.  
  6914.     def function(self):
  6915.         """Get the current function name xpathContext """
  6916.         ret = libxml2mod.xmlXPathGetFunction(self._o)
  6917.         return ret
  6918.  
  6919.     def functionURI(self):
  6920.         """Get the current function name URI xpathContext """
  6921.         ret = libxml2mod.xmlXPathGetFunctionURI(self._o)
  6922.         return ret
  6923.  
  6924.     def setContextDoc(self, doc):
  6925.         """Set the doc of an xpathContext """
  6926.         if doc is None: doc__o = None
  6927.         else: doc__o = doc._o
  6928.         libxml2mod.xmlXPathSetContextDoc(self._o, doc__o)
  6929.  
  6930.     def setContextNode(self, node):
  6931.         """Set the current node of an xpathContext """
  6932.         if node is None: node__o = None
  6933.         else: node__o = node._o
  6934.         libxml2mod.xmlXPathSetContextNode(self._o, node__o)
  6935.  
  6936.     #
  6937.     # xpathContext functions from module python
  6938.     #
  6939.  
  6940.     def registerXPathFunction(self, name, ns_uri, f):
  6941.         """Register a Python written function to the XPath interpreter """
  6942.         ret = libxml2mod.xmlRegisterXPathFunction(self._o, name, ns_uri, f)
  6943.         return ret
  6944.  
  6945.     #
  6946.     # xpathContext functions from module xpath
  6947.     #
  6948.  
  6949.     def xpathContextSetCache(self, active, value, options):
  6950.         """Creates/frees an object cache on the XPath context. If
  6951.           activates XPath objects (xmlXPathObject) will be cached
  6952.           internally to be reused. @options: 0: This will set the
  6953.           XPath object caching: @value: This will set the maximum
  6954.           number of XPath objects to be cached per slot There are 5
  6955.           slots for: node-set, string, number, boolean, and misc
  6956.           objects. Use <0 for the default number (100). Other values
  6957.            for @options have currently no effect. """
  6958.         ret = libxml2mod.xmlXPathContextSetCache(self._o, active, value, options)
  6959.         return ret
  6960.  
  6961.     def xpathEval(self, str):
  6962.         """Evaluate the XPath Location Path in the given context. """
  6963.         ret = libxml2mod.xmlXPathEval(str, self._o)
  6964.         if ret is None:raise xpathError('xmlXPathEval() failed')
  6965.         return xpathObjectRet(ret)
  6966.  
  6967.     def xpathEvalExpression(self, str):
  6968.         """Evaluate the XPath expression in the given context. """
  6969.         ret = libxml2mod.xmlXPathEvalExpression(str, self._o)
  6970.         if ret is None:raise xpathError('xmlXPathEvalExpression() failed')
  6971.         return xpathObjectRet(ret)
  6972.  
  6973.     def xpathFreeContext(self):
  6974.         """Free up an xmlXPathContext """
  6975.         libxml2mod.xmlXPathFreeContext(self._o)
  6976.  
  6977.     #
  6978.     # xpathContext functions from module xpathInternals
  6979.     #
  6980.  
  6981.     def xpathNewParserContext(self, str):
  6982.         """Create a new xmlXPathParserContext """
  6983.         ret = libxml2mod.xmlXPathNewParserContext(str, self._o)
  6984.         if ret is None:raise xpathError('xmlXPathNewParserContext() failed')
  6985.         __tmp = xpathParserContext(_obj=ret)
  6986.         return __tmp
  6987.  
  6988.     def xpathNsLookup(self, prefix):
  6989.         """Search in the namespace declaration array of the context
  6990.            for the given namespace name associated to the given prefix """
  6991.         ret = libxml2mod.xmlXPathNsLookup(self._o, prefix)
  6992.         return ret
  6993.  
  6994.     def xpathRegisterAllFunctions(self):
  6995.         """Registers all default XPath functions in this context """
  6996.         libxml2mod.xmlXPathRegisterAllFunctions(self._o)
  6997.  
  6998.     def xpathRegisterNs(self, prefix, ns_uri):
  6999.         """Register a new namespace. If @ns_uri is None it unregisters
  7000.            the namespace """
  7001.         ret = libxml2mod.xmlXPathRegisterNs(self._o, prefix, ns_uri)
  7002.         return ret
  7003.  
  7004.     def xpathRegisteredFuncsCleanup(self):
  7005.         """Cleanup the XPath context data associated to registered
  7006.            functions """
  7007.         libxml2mod.xmlXPathRegisteredFuncsCleanup(self._o)
  7008.  
  7009.     def xpathRegisteredNsCleanup(self):
  7010.         """Cleanup the XPath context data associated to registered
  7011.            variables """
  7012.         libxml2mod.xmlXPathRegisteredNsCleanup(self._o)
  7013.  
  7014.     def xpathRegisteredVariablesCleanup(self):
  7015.         """Cleanup the XPath context data associated to registered
  7016.            variables """
  7017.         libxml2mod.xmlXPathRegisteredVariablesCleanup(self._o)
  7018.  
  7019.     def xpathVariableLookup(self, name):
  7020.         """Search in the Variable array of the context for the given
  7021.            variable value. """
  7022.         ret = libxml2mod.xmlXPathVariableLookup(self._o, name)
  7023.         if ret is None:raise xpathError('xmlXPathVariableLookup() failed')
  7024.         return xpathObjectRet(ret)
  7025.  
  7026.     def xpathVariableLookupNS(self, name, ns_uri):
  7027.         """Search in the Variable array of the context for the given
  7028.            variable value. """
  7029.         ret = libxml2mod.xmlXPathVariableLookupNS(self._o, name, ns_uri)
  7030.         if ret is None:raise xpathError('xmlXPathVariableLookupNS() failed')
  7031.         return xpathObjectRet(ret)
  7032.  
  7033.     #
  7034.     # xpathContext functions from module xpointer
  7035.     #
  7036.  
  7037.     def xpointerEval(self, str):
  7038.         """Evaluate the XPath Location Path in the given context. """
  7039.         ret = libxml2mod.xmlXPtrEval(str, self._o)
  7040.         if ret is None:raise treeError('xmlXPtrEval() failed')
  7041.         return xpathObjectRet(ret)
  7042.  
  7043. class xmlElement(xmlNode):
  7044.     def __init__(self, _obj=None):
  7045.         if type(_obj).__name__ != 'PyCObject':
  7046.             raise TypeError, 'xmlElement needs a PyCObject argument'
  7047.         self._o = _obj
  7048.         xmlNode.__init__(self, _obj=_obj)
  7049.  
  7050.     def __repr__(self):
  7051.         return "<xmlElement (%s) object at 0x%x>" % (self.name, long(pos_id (self)))
  7052.  
  7053. class xmlTextReader(xmlTextReaderCore):
  7054.     def __init__(self, _obj=None):
  7055.         self.input = None
  7056.         self._o = _obj
  7057.         xmlTextReaderCore.__init__(self, _obj=_obj)
  7058.  
  7059.     def __del__(self):
  7060.         if self._o != None:
  7061.             libxml2mod.xmlFreeTextReader(self._o)
  7062.         self._o = None
  7063.  
  7064.     #
  7065.     # xmlTextReader functions from module xmlreader
  7066.     #
  7067.  
  7068.     def AttributeCount(self):
  7069.         """Provides the number of attributes of the current node """
  7070.         ret = libxml2mod.xmlTextReaderAttributeCount(self._o)
  7071.         return ret
  7072.  
  7073.     def BaseUri(self):
  7074.         """The base URI of the node. """
  7075.         ret = libxml2mod.xmlTextReaderConstBaseUri(self._o)
  7076.         return ret
  7077.  
  7078.     def ByteConsumed(self):
  7079.         """This function provides the current index of the parser used
  7080.           by the reader, relative to the start of the current entity.
  7081.           This function actually just wraps a call to
  7082.           xmlBytesConsumed() for the parser context associated with
  7083.            the reader. See xmlBytesConsumed() for more information. """
  7084.         ret = libxml2mod.xmlTextReaderByteConsumed(self._o)
  7085.         return ret
  7086.  
  7087.     def Close(self):
  7088.         """This method releases any resources allocated by the current
  7089.           instance changes the state to Closed and close any
  7090.            underlying input. """
  7091.         ret = libxml2mod.xmlTextReaderClose(self._o)
  7092.         return ret
  7093.  
  7094.     def CurrentDoc(self):
  7095.         """Hacking interface allowing to get the xmlDocPtr
  7096.           correponding to the current document being accessed by the
  7097.           xmlTextReader. NOTE: as a result of this call, the reader
  7098.           will not destroy the associated XML document and calling
  7099.           xmlFreeDoc() on the result is needed once the reader
  7100.            parsing has finished. """
  7101.         ret = libxml2mod.xmlTextReaderCurrentDoc(self._o)
  7102.         if ret is None:raise treeError('xmlTextReaderCurrentDoc() failed')
  7103.         __tmp = xmlDoc(_obj=ret)
  7104.         return __tmp
  7105.  
  7106.     def CurrentNode(self):
  7107.         """Hacking interface allowing to get the xmlNodePtr
  7108.           correponding to the current node being accessed by the
  7109.           xmlTextReader. This is dangerous because the underlying
  7110.            node may be destroyed on the next Reads. """
  7111.         ret = libxml2mod.xmlTextReaderCurrentNode(self._o)
  7112.         if ret is None:raise treeError('xmlTextReaderCurrentNode() failed')
  7113.         __tmp = xmlNode(_obj=ret)
  7114.         return __tmp
  7115.  
  7116.     def Depth(self):
  7117.         """The depth of the node in the tree. """
  7118.         ret = libxml2mod.xmlTextReaderDepth(self._o)
  7119.         return ret
  7120.  
  7121.     def Encoding(self):
  7122.         """Determine the encoding of the document being read. """
  7123.         ret = libxml2mod.xmlTextReaderConstEncoding(self._o)
  7124.         return ret
  7125.  
  7126.     def Expand(self):
  7127.         """Reads the contents of the current node and the full
  7128.           subtree. It then makes the subtree available until the next
  7129.            xmlTextReaderRead() call """
  7130.         ret = libxml2mod.xmlTextReaderExpand(self._o)
  7131.         if ret is None:raise treeError('xmlTextReaderExpand() failed')
  7132.         __tmp = xmlNode(_obj=ret)
  7133.         return __tmp
  7134.  
  7135.     def GetAttribute(self, name):
  7136.         """Provides the value of the attribute with the specified
  7137.            qualified name. """
  7138.         ret = libxml2mod.xmlTextReaderGetAttribute(self._o, name)
  7139.         return ret
  7140.  
  7141.     def GetAttributeNo(self, no):
  7142.         """Provides the value of the attribute with the specified
  7143.            index relative to the containing element. """
  7144.         ret = libxml2mod.xmlTextReaderGetAttributeNo(self._o, no)
  7145.         return ret
  7146.  
  7147.     def GetAttributeNs(self, localName, namespaceURI):
  7148.         """Provides the value of the specified attribute """
  7149.         ret = libxml2mod.xmlTextReaderGetAttributeNs(self._o, localName, namespaceURI)
  7150.         return ret
  7151.  
  7152.     def GetParserColumnNumber(self):
  7153.         """Provide the column number of the current parsing point. """
  7154.         ret = libxml2mod.xmlTextReaderGetParserColumnNumber(self._o)
  7155.         return ret
  7156.  
  7157.     def GetParserLineNumber(self):
  7158.         """Provide the line number of the current parsing point. """
  7159.         ret = libxml2mod.xmlTextReaderGetParserLineNumber(self._o)
  7160.         return ret
  7161.  
  7162.     def GetParserProp(self, prop):
  7163.         """Read the parser internal property. """
  7164.         ret = libxml2mod.xmlTextReaderGetParserProp(self._o, prop)
  7165.         return ret
  7166.  
  7167.     def GetRemainder(self):
  7168.         """Method to get the remainder of the buffered XML. this
  7169.           method stops the parser, set its state to End Of File and
  7170.           return the input stream with what is left that the parser
  7171.           did not use.  The implementation is not good, the parser
  7172.           certainly procgressed past what's left in reader->input,
  7173.           and there is an allocation problem. Best would be to
  7174.            rewrite it differently. """
  7175.         ret = libxml2mod.xmlTextReaderGetRemainder(self._o)
  7176.         if ret is None:raise treeError('xmlTextReaderGetRemainder() failed')
  7177.         __tmp = inputBuffer(_obj=ret)
  7178.         return __tmp
  7179.  
  7180.     def HasAttributes(self):
  7181.         """Whether the node has attributes. """
  7182.         ret = libxml2mod.xmlTextReaderHasAttributes(self._o)
  7183.         return ret
  7184.  
  7185.     def HasValue(self):
  7186.         """Whether the node can have a text value. """
  7187.         ret = libxml2mod.xmlTextReaderHasValue(self._o)
  7188.         return ret
  7189.  
  7190.     def IsDefault(self):
  7191.         """Whether an Attribute  node was generated from the default
  7192.            value defined in the DTD or schema. """
  7193.         ret = libxml2mod.xmlTextReaderIsDefault(self._o)
  7194.         return ret
  7195.  
  7196.     def IsEmptyElement(self):
  7197.         """Check if the current node is empty """
  7198.         ret = libxml2mod.xmlTextReaderIsEmptyElement(self._o)
  7199.         return ret
  7200.  
  7201.     def IsNamespaceDecl(self):
  7202.         """Determine whether the current node is a namespace
  7203.            declaration rather than a regular attribute. """
  7204.         ret = libxml2mod.xmlTextReaderIsNamespaceDecl(self._o)
  7205.         return ret
  7206.  
  7207.     def IsValid(self):
  7208.         """Retrieve the validity status from the parser context """
  7209.         ret = libxml2mod.xmlTextReaderIsValid(self._o)
  7210.         return ret
  7211.  
  7212.     def LocalName(self):
  7213.         """The local name of the node. """
  7214.         ret = libxml2mod.xmlTextReaderConstLocalName(self._o)
  7215.         return ret
  7216.  
  7217.     def LookupNamespace(self, prefix):
  7218.         """Resolves a namespace prefix in the scope of the current
  7219.            element. """
  7220.         ret = libxml2mod.xmlTextReaderLookupNamespace(self._o, prefix)
  7221.         return ret
  7222.  
  7223.     def MoveToAttribute(self, name):
  7224.         """Moves the position of the current instance to the attribute
  7225.            with the specified qualified name. """
  7226.         ret = libxml2mod.xmlTextReaderMoveToAttribute(self._o, name)
  7227.         return ret
  7228.  
  7229.     def MoveToAttributeNo(self, no):
  7230.         """Moves the position of the current instance to the attribute
  7231.           with the specified index relative to the containing element. """
  7232.         ret = libxml2mod.xmlTextReaderMoveToAttributeNo(self._o, no)
  7233.         return ret
  7234.  
  7235.     def MoveToAttributeNs(self, localName, namespaceURI):
  7236.         """Moves the position of the current instance to the attribute
  7237.            with the specified local name and namespace URI. """
  7238.         ret = libxml2mod.xmlTextReaderMoveToAttributeNs(self._o, localName, namespaceURI)
  7239.         return ret
  7240.  
  7241.     def MoveToElement(self):
  7242.         """Moves the position of the current instance to the node that
  7243.            contains the current Attribute  node. """
  7244.         ret = libxml2mod.xmlTextReaderMoveToElement(self._o)
  7245.         return ret
  7246.  
  7247.     def MoveToFirstAttribute(self):
  7248.         """Moves the position of the current instance to the first
  7249.            attribute associated with the current node. """
  7250.         ret = libxml2mod.xmlTextReaderMoveToFirstAttribute(self._o)
  7251.         return ret
  7252.  
  7253.     def MoveToNextAttribute(self):
  7254.         """Moves the position of the current instance to the next
  7255.            attribute associated with the current node. """
  7256.         ret = libxml2mod.xmlTextReaderMoveToNextAttribute(self._o)
  7257.         return ret
  7258.  
  7259.     def Name(self):
  7260.         """The qualified name of the node, equal to Prefix :LocalName. """
  7261.         ret = libxml2mod.xmlTextReaderConstName(self._o)
  7262.         return ret
  7263.  
  7264.     def NamespaceUri(self):
  7265.         """The URI defining the namespace associated with the node. """
  7266.         ret = libxml2mod.xmlTextReaderConstNamespaceUri(self._o)
  7267.         return ret
  7268.  
  7269.     def NewDoc(self, cur, URL, encoding, options):
  7270.         """Setup an xmltextReader to parse an XML in-memory document.
  7271.           The parsing flags @options are a combination of
  7272.           xmlParserOption. This reuses the existing @reader
  7273.            xmlTextReader. """
  7274.         ret = libxml2mod.xmlReaderNewDoc(self._o, cur, URL, encoding, options)
  7275.         return ret
  7276.  
  7277.     def NewFd(self, fd, URL, encoding, options):
  7278.         """Setup an xmltextReader to parse an XML from a file
  7279.           descriptor. NOTE that the file descriptor will not be
  7280.           closed when the reader is closed or reset. The parsing
  7281.           flags @options are a combination of xmlParserOption. This
  7282.            reuses the existing @reader xmlTextReader. """
  7283.         ret = libxml2mod.xmlReaderNewFd(self._o, fd, URL, encoding, options)
  7284.         return ret
  7285.  
  7286.     def NewFile(self, filename, encoding, options):
  7287.         """parse an XML file from the filesystem or the network. The
  7288.           parsing flags @options are a combination of
  7289.           xmlParserOption. This reuses the existing @reader
  7290.            xmlTextReader. """
  7291.         ret = libxml2mod.xmlReaderNewFile(self._o, filename, encoding, options)
  7292.         return ret
  7293.  
  7294.     def NewMemory(self, buffer, size, URL, encoding, options):
  7295.         """Setup an xmltextReader to parse an XML in-memory document.
  7296.           The parsing flags @options are a combination of
  7297.           xmlParserOption. This reuses the existing @reader
  7298.            xmlTextReader. """
  7299.         ret = libxml2mod.xmlReaderNewMemory(self._o, buffer, size, URL, encoding, options)
  7300.         return ret
  7301.  
  7302.     def NewWalker(self, doc):
  7303.         """Setup an xmltextReader to parse a preparsed XML document.
  7304.            This reuses the existing @reader xmlTextReader. """
  7305.         if doc is None: doc__o = None
  7306.         else: doc__o = doc._o
  7307.         ret = libxml2mod.xmlReaderNewWalker(self._o, doc__o)
  7308.         return ret
  7309.  
  7310.     def Next(self):
  7311.         """Skip to the node following the current one in document
  7312.            order while avoiding the subtree if any. """
  7313.         ret = libxml2mod.xmlTextReaderNext(self._o)
  7314.         return ret
  7315.  
  7316.     def NextSibling(self):
  7317.         """Skip to the node following the current one in document
  7318.           order while avoiding the subtree if any. Currently
  7319.            implemented only for Readers built on a document """
  7320.         ret = libxml2mod.xmlTextReaderNextSibling(self._o)
  7321.         return ret
  7322.  
  7323.     def NodeType(self):
  7324.         """Get the node type of the current node Reference:
  7325.           http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/Xm
  7326.           lNodeType.html """
  7327.         ret = libxml2mod.xmlTextReaderNodeType(self._o)
  7328.         return ret
  7329.  
  7330.     def Normalization(self):
  7331.         """The value indicating whether to normalize white space and
  7332.           attribute values. Since attribute value and end of line
  7333.           normalizations are a MUST in the XML specification only the
  7334.           value true is accepted. The broken bahaviour of accepting
  7335.           out of range character entities like � is of course not
  7336.            supported either. """
  7337.         ret = libxml2mod.xmlTextReaderNormalization(self._o)
  7338.         return ret
  7339.  
  7340.     def Prefix(self):
  7341.         """A shorthand reference to the namespace associated with the
  7342.            node. """
  7343.         ret = libxml2mod.xmlTextReaderConstPrefix(self._o)
  7344.         return ret
  7345.  
  7346.     def Preserve(self):
  7347.         """This tells the XML Reader to preserve the current node. The
  7348.           caller must also use xmlTextReaderCurrentDoc() to keep an
  7349.            handle on the resulting document once parsing has finished """
  7350.         ret = libxml2mod.xmlTextReaderPreserve(self._o)
  7351.         if ret is None:raise treeError('xmlTextReaderPreserve() failed')
  7352.         __tmp = xmlNode(_obj=ret)
  7353.         return __tmp
  7354.  
  7355.     def QuoteChar(self):
  7356.         """The quotation mark character used to enclose the value of
  7357.            an attribute. """
  7358.         ret = libxml2mod.xmlTextReaderQuoteChar(self._o)
  7359.         return ret
  7360.  
  7361.     def Read(self):
  7362.         """Moves the position of the current instance to the next node
  7363.            in the stream, exposing its properties. """
  7364.         ret = libxml2mod.xmlTextReaderRead(self._o)
  7365.         return ret
  7366.  
  7367.     def ReadAttributeValue(self):
  7368.         """Parses an attribute value into one or more Text and
  7369.            EntityReference nodes. """
  7370.         ret = libxml2mod.xmlTextReaderReadAttributeValue(self._o)
  7371.         return ret
  7372.  
  7373.     def ReadInnerXml(self):
  7374.         """Reads the contents of the current node, including child
  7375.            nodes and markup. """
  7376.         ret = libxml2mod.xmlTextReaderReadInnerXml(self._o)
  7377.         return ret
  7378.  
  7379.     def ReadOuterXml(self):
  7380.         """Reads the contents of the current node, including child
  7381.            nodes and markup. """
  7382.         ret = libxml2mod.xmlTextReaderReadOuterXml(self._o)
  7383.         return ret
  7384.  
  7385.     def ReadState(self):
  7386.         """Gets the read state of the reader. """
  7387.         ret = libxml2mod.xmlTextReaderReadState(self._o)
  7388.         return ret
  7389.  
  7390.     def ReadString(self):
  7391.         """Reads the contents of an element or a text node as a string. """
  7392.         ret = libxml2mod.xmlTextReaderReadString(self._o)
  7393.         return ret
  7394.  
  7395.     def RelaxNGSetSchema(self, schema):
  7396.         """Use RelaxNG to validate the document as it is processed.
  7397.           Activation is only possible before the first Read(). if
  7398.           @schema is None, then RelaxNG validation is desactivated. @
  7399.           The @schema should not be freed until the reader is
  7400.            deallocated or its use has been deactivated. """
  7401.         if schema is None: schema__o = None
  7402.         else: schema__o = schema._o
  7403.         ret = libxml2mod.xmlTextReaderRelaxNGSetSchema(self._o, schema__o)
  7404.         return ret
  7405.  
  7406.     def RelaxNGValidate(self, rng):
  7407.         """Use RelaxNG to validate the document as it is processed.
  7408.           Activation is only possible before the first Read(). if
  7409.            @rng is None, then RelaxNG validation is deactivated. """
  7410.         ret = libxml2mod.xmlTextReaderRelaxNGValidate(self._o, rng)
  7411.         return ret
  7412.  
  7413.     def SchemaValidate(self, xsd):
  7414.         """Use W3C XSD schema to validate the document as it is
  7415.           processed. Activation is only possible before the first
  7416.           Read(). If @xsd is None, then XML Schema validation is
  7417.            deactivated. """
  7418.         ret = libxml2mod.xmlTextReaderSchemaValidate(self._o, xsd)
  7419.         return ret
  7420.  
  7421.     def SchemaValidateCtxt(self, ctxt, options):
  7422.         """Use W3C XSD schema context to validate the document as it
  7423.           is processed. Activation is only possible before the first
  7424.           Read(). If @ctxt is None, then XML Schema validation is
  7425.            deactivated. """
  7426.         if ctxt is None: ctxt__o = None
  7427.         else: ctxt__o = ctxt._o
  7428.         ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(self._o, ctxt__o, options)
  7429.         return ret
  7430.  
  7431.     def SetParserProp(self, prop, value):
  7432.         """Change the parser processing behaviour by changing some of
  7433.           its internal properties. Note that some properties can only
  7434.            be changed before any read has been done. """
  7435.         ret = libxml2mod.xmlTextReaderSetParserProp(self._o, prop, value)
  7436.         return ret
  7437.  
  7438.     def SetSchema(self, schema):
  7439.         """Use XSD Schema to validate the document as it is processed.
  7440.           Activation is only possible before the first Read(). if
  7441.           @schema is None, then Schema validation is desactivated. @
  7442.           The @schema should not be freed until the reader is
  7443.            deallocated or its use has been deactivated. """
  7444.         if schema is None: schema__o = None
  7445.         else: schema__o = schema._o
  7446.         ret = libxml2mod.xmlTextReaderSetSchema(self._o, schema__o)
  7447.         return ret
  7448.  
  7449.     def Setup(self, input, URL, encoding, options):
  7450.         """Setup an XML reader with new options """
  7451.         if input is None: input__o = None
  7452.         else: input__o = input._o
  7453.         ret = libxml2mod.xmlTextReaderSetup(self._o, input__o, URL, encoding, options)
  7454.         return ret
  7455.  
  7456.     def Standalone(self):
  7457.         """Determine the standalone status of the document being read. """
  7458.         ret = libxml2mod.xmlTextReaderStandalone(self._o)
  7459.         return ret
  7460.  
  7461.     def String(self, str):
  7462.         """Get an interned string from the reader, allows for example
  7463.            to speedup string name comparisons """
  7464.         ret = libxml2mod.xmlTextReaderConstString(self._o, str)
  7465.         return ret
  7466.  
  7467.     def Value(self):
  7468.         """Provides the text value of the node if present """
  7469.         ret = libxml2mod.xmlTextReaderConstValue(self._o)
  7470.         return ret
  7471.  
  7472.     def XmlLang(self):
  7473.         """The xml:lang scope within which the node resides. """
  7474.         ret = libxml2mod.xmlTextReaderConstXmlLang(self._o)
  7475.         return ret
  7476.  
  7477.     def XmlVersion(self):
  7478.         """Determine the XML version of the document being read. """
  7479.         ret = libxml2mod.xmlTextReaderConstXmlVersion(self._o)
  7480.         return ret
  7481.  
  7482. class xmlEntity(xmlNode):
  7483.     def __init__(self, _obj=None):
  7484.         if type(_obj).__name__ != 'PyCObject':
  7485.             raise TypeError, 'xmlEntity needs a PyCObject argument'
  7486.         self._o = _obj
  7487.         xmlNode.__init__(self, _obj=_obj)
  7488.  
  7489.     def __repr__(self):
  7490.         return "<xmlEntity (%s) object at 0x%x>" % (self.name, long(pos_id (self)))
  7491.  
  7492.     #
  7493.     # xmlEntity functions from module parserInternals
  7494.     #
  7495.  
  7496.     def handleEntity(self, ctxt):
  7497.         """Default handling of defined entities, when should we define
  7498.           a new input stream ? When do we just handle that as a set
  7499.            of chars ?  OBSOLETE: to be removed at some point. """
  7500.         if ctxt is None: ctxt__o = None
  7501.         else: ctxt__o = ctxt._o
  7502.         libxml2mod.xmlHandleEntity(ctxt__o, self._o)
  7503.  
  7504. class Schema:
  7505.     def __init__(self, _obj=None):
  7506.         if _obj != None:self._o = _obj;return
  7507.         self._o = None
  7508.  
  7509.     def __del__(self):
  7510.         if self._o != None:
  7511.             libxml2mod.xmlSchemaFree(self._o)
  7512.         self._o = None
  7513.  
  7514.     #
  7515.     # Schema functions from module xmlreader
  7516.     #
  7517.  
  7518.     def SetSchema(self, reader):
  7519.         """Use XSD Schema to validate the document as it is processed.
  7520.           Activation is only possible before the first Read(). if
  7521.           @schema is None, then Schema validation is desactivated. @
  7522.           The @schema should not be freed until the reader is
  7523.            deallocated or its use has been deactivated. """
  7524.         if reader is None: reader__o = None
  7525.         else: reader__o = reader._o
  7526.         ret = libxml2mod.xmlTextReaderSetSchema(reader__o, self._o)
  7527.         return ret
  7528.  
  7529.     #
  7530.     # Schema functions from module xmlschemas
  7531.     #
  7532.  
  7533.     def schemaDump(self, output):
  7534.         """Dump a Schema structure. """
  7535.         libxml2mod.xmlSchemaDump(output, self._o)
  7536.  
  7537.     def schemaNewValidCtxt(self):
  7538.         """Create an XML Schemas validation context based on the given
  7539.            schema. """
  7540.         ret = libxml2mod.xmlSchemaNewValidCtxt(self._o)
  7541.         if ret is None:raise treeError('xmlSchemaNewValidCtxt() failed')
  7542.         __tmp = SchemaValidCtxt(_obj=ret)
  7543.         __tmp.schema = self
  7544.         return __tmp
  7545.  
  7546. class Error:
  7547.     def __init__(self, _obj=None):
  7548.         if _obj != None:self._o = _obj;return
  7549.         self._o = None
  7550.  
  7551.     # accessors for Error
  7552.     def code(self):
  7553.         """The error code, e.g. an xmlParserError """
  7554.         ret = libxml2mod.xmlErrorGetCode(self._o)
  7555.         return ret
  7556.  
  7557.     def domain(self):
  7558.         """What part of the library raised this error """
  7559.         ret = libxml2mod.xmlErrorGetDomain(self._o)
  7560.         return ret
  7561.  
  7562.     def file(self):
  7563.         """the filename """
  7564.         ret = libxml2mod.xmlErrorGetFile(self._o)
  7565.         return ret
  7566.  
  7567.     def level(self):
  7568.         """how consequent is the error """
  7569.         ret = libxml2mod.xmlErrorGetLevel(self._o)
  7570.         return ret
  7571.  
  7572.     def line(self):
  7573.         """the line number if available """
  7574.         ret = libxml2mod.xmlErrorGetLine(self._o)
  7575.         return ret
  7576.  
  7577.     def message(self):
  7578.         """human-readable informative error message """
  7579.         ret = libxml2mod.xmlErrorGetMessage(self._o)
  7580.         return ret
  7581.  
  7582.     #
  7583.     # Error functions from module xmlerror
  7584.     #
  7585.  
  7586.     def copyError(self, to):
  7587.         """Save the original error to the new place. """
  7588.         if to is None: to__o = None
  7589.         else: to__o = to._o
  7590.         ret = libxml2mod.xmlCopyError(self._o, to__o)
  7591.         return ret
  7592.  
  7593.     def resetError(self):
  7594.         """Cleanup the error. """
  7595.         libxml2mod.xmlResetError(self._o)
  7596.  
  7597. class relaxNgSchema:
  7598.     def __init__(self, _obj=None):
  7599.         if _obj != None:self._o = _obj;return
  7600.         self._o = None
  7601.  
  7602.     def __del__(self):
  7603.         if self._o != None:
  7604.             libxml2mod.xmlRelaxNGFree(self._o)
  7605.         self._o = None
  7606.  
  7607.     #
  7608.     # relaxNgSchema functions from module relaxng
  7609.     #
  7610.  
  7611.     def relaxNGDump(self, output):
  7612.         """Dump a RelaxNG structure back """
  7613.         libxml2mod.xmlRelaxNGDump(output, self._o)
  7614.  
  7615.     def relaxNGDumpTree(self, output):
  7616.         """Dump the transformed RelaxNG tree. """
  7617.         libxml2mod.xmlRelaxNGDumpTree(output, self._o)
  7618.  
  7619.     def relaxNGNewValidCtxt(self):
  7620.         """Create an XML RelaxNGs validation context based on the
  7621.            given schema """
  7622.         ret = libxml2mod.xmlRelaxNGNewValidCtxt(self._o)
  7623.         if ret is None:raise treeError('xmlRelaxNGNewValidCtxt() failed')
  7624.         __tmp = relaxNgValidCtxt(_obj=ret)
  7625.         __tmp.schema = self
  7626.         return __tmp
  7627.  
  7628.     #
  7629.     # relaxNgSchema functions from module xmlreader
  7630.     #
  7631.  
  7632.     def RelaxNGSetSchema(self, reader):
  7633.         """Use RelaxNG to validate the document as it is processed.
  7634.           Activation is only possible before the first Read(). if
  7635.           @schema is None, then RelaxNG validation is desactivated. @
  7636.           The @schema should not be freed until the reader is
  7637.            deallocated or its use has been deactivated. """
  7638.         if reader is None: reader__o = None
  7639.         else: reader__o = reader._o
  7640.         ret = libxml2mod.xmlTextReaderRelaxNGSetSchema(reader__o, self._o)
  7641.         return ret
  7642.  
  7643. class inputBuffer(ioReadWrapper):
  7644.     def __init__(self, _obj=None):
  7645.         self._o = _obj
  7646.         ioReadWrapper.__init__(self, _obj=_obj)
  7647.  
  7648.     def __del__(self):
  7649.         if self._o != None:
  7650.             libxml2mod.xmlFreeParserInputBuffer(self._o)
  7651.         self._o = None
  7652.  
  7653.     #
  7654.     # inputBuffer functions from module xmlIO
  7655.     #
  7656.  
  7657.     def grow(self, len):
  7658.         """Grow up the content of the input buffer, the old data are
  7659.           preserved This routine handle the I18N transcoding to
  7660.           internal UTF-8 This routine is used when operating the
  7661.           parser in normal (pull) mode  TODO: one should be able to
  7662.           remove one extra copy by copying directly onto in->buffer
  7663.            or in->raw """
  7664.         ret = libxml2mod.xmlParserInputBufferGrow(self._o, len)
  7665.         return ret
  7666.  
  7667.     def push(self, len, buf):
  7668.         """Push the content of the arry in the input buffer This
  7669.           routine handle the I18N transcoding to internal UTF-8 This
  7670.           is used when operating the parser in progressive (push)
  7671.            mode. """
  7672.         ret = libxml2mod.xmlParserInputBufferPush(self._o, len, buf)
  7673.         return ret
  7674.  
  7675.     def read(self, len):
  7676.         """Refresh the content of the input buffer, the old data are
  7677.           considered consumed This routine handle the I18N
  7678.            transcoding to internal UTF-8 """
  7679.         ret = libxml2mod.xmlParserInputBufferRead(self._o, len)
  7680.         return ret
  7681.  
  7682.     #
  7683.     # inputBuffer functions from module xmlreader
  7684.     #
  7685.  
  7686.     def Setup(self, reader, URL, encoding, options):
  7687.         """Setup an XML reader with new options """
  7688.         if reader is None: reader__o = None
  7689.         else: reader__o = reader._o
  7690.         ret = libxml2mod.xmlTextReaderSetup(reader__o, self._o, URL, encoding, options)
  7691.         return ret
  7692.  
  7693.     def newTextReader(self, URI):
  7694.         """Create an xmlTextReader structure fed with @input """
  7695.         ret = libxml2mod.xmlNewTextReader(self._o, URI)
  7696.         if ret is None:raise treeError('xmlNewTextReader() failed')
  7697.         __tmp = xmlTextReader(_obj=ret)
  7698.         __tmp.input = self
  7699.         return __tmp
  7700.  
  7701. class SchemaValidCtxt(SchemaValidCtxtCore):
  7702.     def __init__(self, _obj=None):
  7703.         self.schema = None
  7704.         self._o = _obj
  7705.         SchemaValidCtxtCore.__init__(self, _obj=_obj)
  7706.  
  7707.     def __del__(self):
  7708.         if self._o != None:
  7709.             libxml2mod.xmlSchemaFreeValidCtxt(self._o)
  7710.         self._o = None
  7711.  
  7712.     #
  7713.     # SchemaValidCtxt functions from module xmlreader
  7714.     #
  7715.  
  7716.     def SchemaValidateCtxt(self, reader, options):
  7717.         """Use W3C XSD schema context to validate the document as it
  7718.           is processed. Activation is only possible before the first
  7719.           Read(). If @ctxt is None, then XML Schema validation is
  7720.            deactivated. """
  7721.         if reader is None: reader__o = None
  7722.         else: reader__o = reader._o
  7723.         ret = libxml2mod.xmlTextReaderSchemaValidateCtxt(reader__o, self._o, options)
  7724.         return ret
  7725.  
  7726.     #
  7727.     # SchemaValidCtxt functions from module xmlschemas
  7728.     #
  7729.  
  7730.     def schemaIsValid(self):
  7731.         """Check if any error was detected during validation. """
  7732.         ret = libxml2mod.xmlSchemaIsValid(self._o)
  7733.         return ret
  7734.  
  7735.     def schemaSetValidOptions(self, options):
  7736.         """Sets the options to be used during the validation. """
  7737.         ret = libxml2mod.xmlSchemaSetValidOptions(self._o, options)
  7738.         return ret
  7739.  
  7740.     def schemaValidCtxtGetOptions(self):
  7741.         """Get the validation context options. """
  7742.         ret = libxml2mod.xmlSchemaValidCtxtGetOptions(self._o)
  7743.         return ret
  7744.  
  7745.     def schemaValidCtxtGetParserCtxt(self):
  7746.         """allow access to the parser context of the schema validation
  7747.            context """
  7748.         ret = libxml2mod.xmlSchemaValidCtxtGetParserCtxt(self._o)
  7749.         if ret is None:raise parserError('xmlSchemaValidCtxtGetParserCtxt() failed')
  7750.         __tmp = parserCtxt(_obj=ret)
  7751.         return __tmp
  7752.  
  7753.     def schemaValidateDoc(self, doc):
  7754.         """Validate a document tree in memory. """
  7755.         if doc is None: doc__o = None
  7756.         else: doc__o = doc._o
  7757.         ret = libxml2mod.xmlSchemaValidateDoc(self._o, doc__o)
  7758.         return ret
  7759.  
  7760.     def schemaValidateFile(self, filename, options):
  7761.         """Do a schemas validation of the given resource, it will use
  7762.            the SAX streamable validation internally. """
  7763.         ret = libxml2mod.xmlSchemaValidateFile(self._o, filename, options)
  7764.         return ret
  7765.  
  7766.     def schemaValidateOneElement(self, elem):
  7767.         """Validate a branch of a tree, starting with the given @elem. """
  7768.         if elem is None: elem__o = None
  7769.         else: elem__o = elem._o
  7770.         ret = libxml2mod.xmlSchemaValidateOneElement(self._o, elem__o)
  7771.         return ret
  7772.  
  7773. class outputBuffer(ioWriteWrapper):
  7774.     def __init__(self, _obj=None):
  7775.         self._o = _obj
  7776.         ioWriteWrapper.__init__(self, _obj=_obj)
  7777.  
  7778.     #
  7779.     # outputBuffer functions from module HTMLtree
  7780.     #
  7781.  
  7782.     def htmlDocContentDumpFormatOutput(self, cur, encoding, format):
  7783.         """Dump an HTML document. """
  7784.         if cur is None: cur__o = None
  7785.         else: cur__o = cur._o
  7786.         libxml2mod.htmlDocContentDumpFormatOutput(self._o, cur__o, encoding, format)
  7787.  
  7788.     def htmlDocContentDumpOutput(self, cur, encoding):
  7789.         """Dump an HTML document. Formating return/spaces are added. """
  7790.         if cur is None: cur__o = None
  7791.         else: cur__o = cur._o
  7792.         libxml2mod.htmlDocContentDumpOutput(self._o, cur__o, encoding)
  7793.  
  7794.     def htmlNodeDumpFormatOutput(self, doc, cur, encoding, format):
  7795.         """Dump an HTML node, recursive behaviour,children are printed
  7796.            too. """
  7797.         if doc is None: doc__o = None
  7798.         else: doc__o = doc._o
  7799.         if cur is None: cur__o = None
  7800.         else: cur__o = cur._o
  7801.         libxml2mod.htmlNodeDumpFormatOutput(self._o, doc__o, cur__o, encoding, format)
  7802.  
  7803.     def htmlNodeDumpOutput(self, doc, cur, encoding):
  7804.         """Dump an HTML node, recursive behaviour,children are printed
  7805.            too, and formatting returns/spaces are added. """
  7806.         if doc is None: doc__o = None
  7807.         else: doc__o = doc._o
  7808.         if cur is None: cur__o = None
  7809.         else: cur__o = cur._o
  7810.         libxml2mod.htmlNodeDumpOutput(self._o, doc__o, cur__o, encoding)
  7811.  
  7812.     #
  7813.     # outputBuffer functions from module tree
  7814.     #
  7815.  
  7816.     def nodeDumpOutput(self, doc, cur, level, format, encoding):
  7817.         """Dump an XML node, recursive behaviour, children are printed
  7818.           too. Note that @format = 1 provide node indenting only if
  7819.           xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was
  7820.            called """
  7821.         if doc is None: doc__o = None
  7822.         else: doc__o = doc._o
  7823.         if cur is None: cur__o = None
  7824.         else: cur__o = cur._o
  7825.         libxml2mod.xmlNodeDumpOutput(self._o, doc__o, cur__o, level, format, encoding)
  7826.  
  7827.     def saveFileTo(self, cur, encoding):
  7828.         """Dump an XML document to an I/O buffer. Warning ! This call
  7829.           xmlOutputBufferClose() on buf which is not available after
  7830.            this call. """
  7831.         if cur is None: cur__o = None
  7832.         else: cur__o = cur._o
  7833.         ret = libxml2mod.xmlSaveFileTo(self._o, cur__o, encoding)
  7834.         return ret
  7835.  
  7836.     def saveFormatFileTo(self, cur, encoding, format):
  7837.         """Dump an XML document to an I/O buffer. Warning ! This call
  7838.           xmlOutputBufferClose() on buf which is not available after
  7839.            this call. """
  7840.         if cur is None: cur__o = None
  7841.         else: cur__o = cur._o
  7842.         ret = libxml2mod.xmlSaveFormatFileTo(self._o, cur__o, encoding, format)
  7843.         return ret
  7844.  
  7845.     #
  7846.     # outputBuffer functions from module xmlIO
  7847.     #
  7848.  
  7849.     def write(self, len, buf):
  7850.         """Write the content of the array in the output I/O buffer
  7851.           This routine handle the I18N transcoding from internal
  7852.           UTF-8 The buffer is lossless, i.e. will store in case of
  7853.            partial or delayed writes. """
  7854.         ret = libxml2mod.xmlOutputBufferWrite(self._o, len, buf)
  7855.         return ret
  7856.  
  7857.     def writeString(self, str):
  7858.         """Write the content of the string in the output I/O buffer
  7859.           This routine handle the I18N transcoding from internal
  7860.           UTF-8 The buffer is lossless, i.e. will store in case of
  7861.            partial or delayed writes. """
  7862.         ret = libxml2mod.xmlOutputBufferWriteString(self._o, str)
  7863.         return ret
  7864.  
  7865. # xlinkShow
  7866. XLINK_SHOW_NONE = 0
  7867. XLINK_SHOW_NEW = 1
  7868. XLINK_SHOW_EMBED = 2
  7869. XLINK_SHOW_REPLACE = 3
  7870.  
  7871. # xmlRelaxNGParserFlag
  7872. XML_RELAXNGP_NONE = 0
  7873. XML_RELAXNGP_FREE_DOC = 1
  7874. XML_RELAXNGP_CRNG = 2
  7875.  
  7876. # xmlBufferAllocationScheme
  7877. XML_BUFFER_ALLOC_DOUBLEIT = 1
  7878. XML_BUFFER_ALLOC_EXACT = 2
  7879. XML_BUFFER_ALLOC_IMMUTABLE = 3
  7880. XML_BUFFER_ALLOC_IO = 4
  7881.  
  7882. # xmlParserSeverities
  7883. XML_PARSER_SEVERITY_VALIDITY_WARNING = 1
  7884. XML_PARSER_SEVERITY_VALIDITY_ERROR = 2
  7885. XML_PARSER_SEVERITY_WARNING = 3
  7886. XML_PARSER_SEVERITY_ERROR = 4
  7887.  
  7888. # xmlAttributeDefault
  7889. XML_ATTRIBUTE_NONE = 1
  7890. XML_ATTRIBUTE_REQUIRED = 2
  7891. XML_ATTRIBUTE_IMPLIED = 3
  7892. XML_ATTRIBUTE_FIXED = 4
  7893.  
  7894. # xmlSchemaValType
  7895. XML_SCHEMAS_UNKNOWN = 0
  7896. XML_SCHEMAS_STRING = 1
  7897. XML_SCHEMAS_NORMSTRING = 2
  7898. XML_SCHEMAS_DECIMAL = 3
  7899. XML_SCHEMAS_TIME = 4
  7900. XML_SCHEMAS_GDAY = 5
  7901. XML_SCHEMAS_GMONTH = 6
  7902. XML_SCHEMAS_GMONTHDAY = 7
  7903. XML_SCHEMAS_GYEAR = 8
  7904. XML_SCHEMAS_GYEARMONTH = 9
  7905. XML_SCHEMAS_DATE = 10
  7906. XML_SCHEMAS_DATETIME = 11
  7907. XML_SCHEMAS_DURATION = 12
  7908. XML_SCHEMAS_FLOAT = 13
  7909. XML_SCHEMAS_DOUBLE = 14
  7910. XML_SCHEMAS_BOOLEAN = 15
  7911. XML_SCHEMAS_TOKEN = 16
  7912. XML_SCHEMAS_LANGUAGE = 17
  7913. XML_SCHEMAS_NMTOKEN = 18
  7914. XML_SCHEMAS_NMTOKENS = 19
  7915. XML_SCHEMAS_NAME = 20
  7916. XML_SCHEMAS_QNAME = 21
  7917. XML_SCHEMAS_NCNAME = 22
  7918. XML_SCHEMAS_ID = 23
  7919. XML_SCHEMAS_IDREF = 24
  7920. XML_SCHEMAS_IDREFS = 25
  7921. XML_SCHEMAS_ENTITY = 26
  7922. XML_SCHEMAS_ENTITIES = 27
  7923. XML_SCHEMAS_NOTATION = 28
  7924. XML_SCHEMAS_ANYURI = 29
  7925. XML_SCHEMAS_INTEGER = 30
  7926. XML_SCHEMAS_NPINTEGER = 31
  7927. XML_SCHEMAS_NINTEGER = 32
  7928. XML_SCHEMAS_NNINTEGER = 33
  7929. XML_SCHEMAS_PINTEGER = 34
  7930. XML_SCHEMAS_INT = 35
  7931. XML_SCHEMAS_UINT = 36
  7932. XML_SCHEMAS_LONG = 37
  7933. XML_SCHEMAS_ULONG = 38
  7934. XML_SCHEMAS_SHORT = 39
  7935. XML_SCHEMAS_USHORT = 40
  7936. XML_SCHEMAS_BYTE = 41
  7937. XML_SCHEMAS_UBYTE = 42
  7938. XML_SCHEMAS_HEXBINARY = 43
  7939. XML_SCHEMAS_BASE64BINARY = 44
  7940. XML_SCHEMAS_ANYTYPE = 45
  7941. XML_SCHEMAS_ANYSIMPLETYPE = 46
  7942.  
  7943. # xmlParserInputState
  7944. XML_PARSER_EOF = -1
  7945. XML_PARSER_START = 0
  7946. XML_PARSER_MISC = 1
  7947. XML_PARSER_PI = 2
  7948. XML_PARSER_DTD = 3
  7949. XML_PARSER_PROLOG = 4
  7950. XML_PARSER_COMMENT = 5
  7951. XML_PARSER_START_TAG = 6
  7952. XML_PARSER_CONTENT = 7
  7953. XML_PARSER_CDATA_SECTION = 8
  7954. XML_PARSER_END_TAG = 9
  7955. XML_PARSER_ENTITY_DECL = 10
  7956. XML_PARSER_ENTITY_VALUE = 11
  7957. XML_PARSER_ATTRIBUTE_VALUE = 12
  7958. XML_PARSER_SYSTEM_LITERAL = 13
  7959. XML_PARSER_EPILOG = 14
  7960. XML_PARSER_IGNORE = 15
  7961. XML_PARSER_PUBLIC_LITERAL = 16
  7962.  
  7963. # xmlEntityType
  7964. XML_INTERNAL_GENERAL_ENTITY = 1
  7965. XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2
  7966. XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3
  7967. XML_INTERNAL_PARAMETER_ENTITY = 4
  7968. XML_EXTERNAL_PARAMETER_ENTITY = 5
  7969. XML_INTERNAL_PREDEFINED_ENTITY = 6
  7970.  
  7971. # xmlSaveOption
  7972. XML_SAVE_FORMAT = 1
  7973. XML_SAVE_NO_DECL = 2
  7974. XML_SAVE_NO_EMPTY = 4
  7975. XML_SAVE_NO_XHTML = 8
  7976. XML_SAVE_XHTML = 16
  7977. XML_SAVE_AS_XML = 32
  7978. XML_SAVE_AS_HTML = 64
  7979.  
  7980. # xmlPatternFlags
  7981. XML_PATTERN_DEFAULT = 0
  7982. XML_PATTERN_XPATH = 1
  7983. XML_PATTERN_XSSEL = 2
  7984. XML_PATTERN_XSFIELD = 4
  7985.  
  7986. # xmlParserErrors
  7987. XML_ERR_OK = 0
  7988. XML_ERR_INTERNAL_ERROR = 1
  7989. XML_ERR_NO_MEMORY = 2
  7990. XML_ERR_DOCUMENT_START = 3
  7991. XML_ERR_DOCUMENT_EMPTY = 4
  7992. XML_ERR_DOCUMENT_END = 5
  7993. XML_ERR_INVALID_HEX_CHARREF = 6
  7994. XML_ERR_INVALID_DEC_CHARREF = 7
  7995. XML_ERR_INVALID_CHARREF = 8
  7996. XML_ERR_INVALID_CHAR = 9
  7997. XML_ERR_CHARREF_AT_EOF = 10
  7998. XML_ERR_CHARREF_IN_PROLOG = 11
  7999. XML_ERR_CHARREF_IN_EPILOG = 12
  8000. XML_ERR_CHARREF_IN_DTD = 13
  8001. XML_ERR_ENTITYREF_AT_EOF = 14
  8002. XML_ERR_ENTITYREF_IN_PROLOG = 15
  8003. XML_ERR_ENTITYREF_IN_EPILOG = 16
  8004. XML_ERR_ENTITYREF_IN_DTD = 17
  8005. XML_ERR_PEREF_AT_EOF = 18
  8006. XML_ERR_PEREF_IN_PROLOG = 19
  8007. XML_ERR_PEREF_IN_EPILOG = 20
  8008. XML_ERR_PEREF_IN_INT_SUBSET = 21
  8009. XML_ERR_ENTITYREF_NO_NAME = 22
  8010. XML_ERR_ENTITYREF_SEMICOL_MISSING = 23
  8011. XML_ERR_PEREF_NO_NAME = 24
  8012. XML_ERR_PEREF_SEMICOL_MISSING = 25
  8013. XML_ERR_UNDECLARED_ENTITY = 26
  8014. XML_WAR_UNDECLARED_ENTITY = 27
  8015. XML_ERR_UNPARSED_ENTITY = 28
  8016. XML_ERR_ENTITY_IS_EXTERNAL = 29
  8017. XML_ERR_ENTITY_IS_PARAMETER = 30
  8018. XML_ERR_UNKNOWN_ENCODING = 31
  8019. XML_ERR_UNSUPPORTED_ENCODING = 32
  8020. XML_ERR_STRING_NOT_STARTED = 33
  8021. XML_ERR_STRING_NOT_CLOSED = 34
  8022. XML_ERR_NS_DECL_ERROR = 35
  8023. XML_ERR_ENTITY_NOT_STARTED = 36
  8024. XML_ERR_ENTITY_NOT_FINISHED = 37
  8025. XML_ERR_LT_IN_ATTRIBUTE = 38
  8026. XML_ERR_ATTRIBUTE_NOT_STARTED = 39
  8027. XML_ERR_ATTRIBUTE_NOT_FINISHED = 40
  8028. XML_ERR_ATTRIBUTE_WITHOUT_VALUE = 41
  8029. XML_ERR_ATTRIBUTE_REDEFINED = 42
  8030. XML_ERR_LITERAL_NOT_STARTED = 43
  8031. XML_ERR_LITERAL_NOT_FINISHED = 44
  8032. XML_ERR_COMMENT_NOT_FINISHED = 45
  8033. XML_ERR_PI_NOT_STARTED = 46
  8034. XML_ERR_PI_NOT_FINISHED = 47
  8035. XML_ERR_NOTATION_NOT_STARTED = 48
  8036. XML_ERR_NOTATION_NOT_FINISHED = 49
  8037. XML_ERR_ATTLIST_NOT_STARTED = 50
  8038. XML_ERR_ATTLIST_NOT_FINISHED = 51
  8039. XML_ERR_MIXED_NOT_STARTED = 52
  8040. XML_ERR_MIXED_NOT_FINISHED = 53
  8041. XML_ERR_ELEMCONTENT_NOT_STARTED = 54
  8042. XML_ERR_ELEMCONTENT_NOT_FINISHED = 55
  8043. XML_ERR_XMLDECL_NOT_STARTED = 56
  8044. XML_ERR_XMLDECL_NOT_FINISHED = 57
  8045. XML_ERR_CONDSEC_NOT_STARTED = 58
  8046. XML_ERR_CONDSEC_NOT_FINISHED = 59
  8047. XML_ERR_EXT_SUBSET_NOT_FINISHED = 60
  8048. XML_ERR_DOCTYPE_NOT_FINISHED = 61
  8049. XML_ERR_MISPLACED_CDATA_END = 62
  8050. XML_ERR_CDATA_NOT_FINISHED = 63
  8051. XML_ERR_RESERVED_XML_NAME = 64
  8052. XML_ERR_SPACE_REQUIRED = 65
  8053. XML_ERR_SEPARATOR_REQUIRED = 66
  8054. XML_ERR_NMTOKEN_REQUIRED = 67
  8055. XML_ERR_NAME_REQUIRED = 68
  8056. XML_ERR_PCDATA_REQUIRED = 69
  8057. XML_ERR_URI_REQUIRED = 70
  8058. XML_ERR_PUBID_REQUIRED = 71
  8059. XML_ERR_LT_REQUIRED = 72
  8060. XML_ERR_GT_REQUIRED = 73
  8061. XML_ERR_LTSLASH_REQUIRED = 74
  8062. XML_ERR_EQUAL_REQUIRED = 75
  8063. XML_ERR_TAG_NAME_MISMATCH = 76
  8064. XML_ERR_TAG_NOT_FINISHED = 77
  8065. XML_ERR_STANDALONE_VALUE = 78
  8066. XML_ERR_ENCODING_NAME = 79
  8067. XML_ERR_HYPHEN_IN_COMMENT = 80
  8068. XML_ERR_INVALID_ENCODING = 81
  8069. XML_ERR_EXT_ENTITY_STANDALONE = 82
  8070. XML_ERR_CONDSEC_INVALID = 83
  8071. XML_ERR_VALUE_REQUIRED = 84
  8072. XML_ERR_NOT_WELL_BALANCED = 85
  8073. XML_ERR_EXTRA_CONTENT = 86
  8074. XML_ERR_ENTITY_CHAR_ERROR = 87
  8075. XML_ERR_ENTITY_PE_INTERNAL = 88
  8076. XML_ERR_ENTITY_LOOP = 89
  8077. XML_ERR_ENTITY_BOUNDARY = 90
  8078. XML_ERR_INVALID_URI = 91
  8079. XML_ERR_URI_FRAGMENT = 92
  8080. XML_WAR_CATALOG_PI = 93
  8081. XML_ERR_NO_DTD = 94
  8082. XML_ERR_CONDSEC_INVALID_KEYWORD = 95
  8083. XML_ERR_VERSION_MISSING = 96
  8084. XML_WAR_UNKNOWN_VERSION = 97
  8085. XML_WAR_LANG_VALUE = 98
  8086. XML_WAR_NS_URI = 99
  8087. XML_WAR_NS_URI_RELATIVE = 100
  8088. XML_ERR_MISSING_ENCODING = 101
  8089. XML_WAR_SPACE_VALUE = 102
  8090. XML_ERR_NOT_STANDALONE = 103
  8091. XML_ERR_ENTITY_PROCESSING = 104
  8092. XML_ERR_NOTATION_PROCESSING = 105
  8093. XML_WAR_NS_COLUMN = 106
  8094. XML_WAR_ENTITY_REDEFINED = 107
  8095. XML_ERR_UNKNOWN_VERSION = 108
  8096. XML_ERR_VERSION_MISMATCH = 109
  8097. XML_NS_ERR_XML_NAMESPACE = 200
  8098. XML_NS_ERR_UNDEFINED_NAMESPACE = 201
  8099. XML_NS_ERR_QNAME = 202
  8100. XML_NS_ERR_ATTRIBUTE_REDEFINED = 203
  8101. XML_NS_ERR_EMPTY = 204
  8102. XML_NS_ERR_COLON = 205
  8103. XML_DTD_ATTRIBUTE_DEFAULT = 500
  8104. XML_DTD_ATTRIBUTE_REDEFINED = 501
  8105. XML_DTD_ATTRIBUTE_VALUE = 502
  8106. XML_DTD_CONTENT_ERROR = 503
  8107. XML_DTD_CONTENT_MODEL = 504
  8108. XML_DTD_CONTENT_NOT_DETERMINIST = 505
  8109. XML_DTD_DIFFERENT_PREFIX = 506
  8110. XML_DTD_ELEM_DEFAULT_NAMESPACE = 507
  8111. XML_DTD_ELEM_NAMESPACE = 508
  8112. XML_DTD_ELEM_REDEFINED = 509
  8113. XML_DTD_EMPTY_NOTATION = 510
  8114. XML_DTD_ENTITY_TYPE = 511
  8115. XML_DTD_ID_FIXED = 512
  8116. XML_DTD_ID_REDEFINED = 513
  8117. XML_DTD_ID_SUBSET = 514
  8118. XML_DTD_INVALID_CHILD = 515
  8119. XML_DTD_INVALID_DEFAULT = 516
  8120. XML_DTD_LOAD_ERROR = 517
  8121. XML_DTD_MISSING_ATTRIBUTE = 518
  8122. XML_DTD_MIXED_CORRUPT = 519
  8123. XML_DTD_MULTIPLE_ID = 520
  8124. XML_DTD_NO_DOC = 521
  8125. XML_DTD_NO_DTD = 522
  8126. XML_DTD_NO_ELEM_NAME = 523
  8127. XML_DTD_NO_PREFIX = 524
  8128. XML_DTD_NO_ROOT = 525
  8129. XML_DTD_NOTATION_REDEFINED = 526
  8130. XML_DTD_NOTATION_VALUE = 527
  8131. XML_DTD_NOT_EMPTY = 528
  8132. XML_DTD_NOT_PCDATA = 529
  8133. XML_DTD_NOT_STANDALONE = 530
  8134. XML_DTD_ROOT_NAME = 531
  8135. XML_DTD_STANDALONE_WHITE_SPACE = 532
  8136. XML_DTD_UNKNOWN_ATTRIBUTE = 533
  8137. XML_DTD_UNKNOWN_ELEM = 534
  8138. XML_DTD_UNKNOWN_ENTITY = 535
  8139. XML_DTD_UNKNOWN_ID = 536
  8140. XML_DTD_UNKNOWN_NOTATION = 537
  8141. XML_DTD_STANDALONE_DEFAULTED = 538
  8142. XML_DTD_XMLID_VALUE = 539
  8143. XML_DTD_XMLID_TYPE = 540
  8144. XML_DTD_DUP_TOKEN = 541
  8145. XML_HTML_STRUCURE_ERROR = 800
  8146. XML_HTML_UNKNOWN_TAG = 801
  8147. XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000
  8148. XML_RNGP_ATTR_CONFLICT = 1001
  8149. XML_RNGP_ATTRIBUTE_CHILDREN = 1002
  8150. XML_RNGP_ATTRIBUTE_CONTENT = 1003
  8151. XML_RNGP_ATTRIBUTE_EMPTY = 1004
  8152. XML_RNGP_ATTRIBUTE_NOOP = 1005
  8153. XML_RNGP_CHOICE_CONTENT = 1006
  8154. XML_RNGP_CHOICE_EMPTY = 1007
  8155. XML_RNGP_CREATE_FAILURE = 1008
  8156. XML_RNGP_DATA_CONTENT = 1009
  8157. XML_RNGP_DEF_CHOICE_AND_INTERLEAVE = 1010
  8158. XML_RNGP_DEFINE_CREATE_FAILED = 1011
  8159. XML_RNGP_DEFINE_EMPTY = 1012
  8160. XML_RNGP_DEFINE_MISSING = 1013
  8161. XML_RNGP_DEFINE_NAME_MISSING = 1014
  8162. XML_RNGP_ELEM_CONTENT_EMPTY = 1015
  8163. XML_RNGP_ELEM_CONTENT_ERROR = 1016
  8164. XML_RNGP_ELEMENT_EMPTY = 1017
  8165. XML_RNGP_ELEMENT_CONTENT = 1018
  8166. XML_RNGP_ELEMENT_NAME = 1019
  8167. XML_RNGP_ELEMENT_NO_CONTENT = 1020
  8168. XML_RNGP_ELEM_TEXT_CONFLICT = 1021
  8169. XML_RNGP_EMPTY = 1022
  8170. XML_RNGP_EMPTY_CONSTRUCT = 1023
  8171. XML_RNGP_EMPTY_CONTENT = 1024
  8172. XML_RNGP_EMPTY_NOT_EMPTY = 1025
  8173. XML_RNGP_ERROR_TYPE_LIB = 1026
  8174. XML_RNGP_EXCEPT_EMPTY = 1027
  8175. XML_RNGP_EXCEPT_MISSING = 1028
  8176. XML_RNGP_EXCEPT_MULTIPLE = 1029
  8177. XML_RNGP_EXCEPT_NO_CONTENT = 1030
  8178. XML_RNGP_EXTERNALREF_EMTPY = 1031
  8179. XML_RNGP_EXTERNAL_REF_FAILURE = 1032
  8180. XML_RNGP_EXTERNALREF_RECURSE = 1033
  8181. XML_RNGP_FORBIDDEN_ATTRIBUTE = 1034
  8182. XML_RNGP_FOREIGN_ELEMENT = 1035
  8183. XML_RNGP_GRAMMAR_CONTENT = 1036
  8184. XML_RNGP_GRAMMAR_EMPTY = 1037
  8185. XML_RNGP_GRAMMAR_MISSING = 1038
  8186. XML_RNGP_GRAMMAR_NO_START = 1039
  8187. XML_RNGP_GROUP_ATTR_CONFLICT = 1040
  8188. XML_RNGP_HREF_ERROR = 1041
  8189. XML_RNGP_INCLUDE_EMPTY = 1042
  8190. XML_RNGP_INCLUDE_FAILURE = 1043
  8191. XML_RNGP_INCLUDE_RECURSE = 1044
  8192. XML_RNGP_INTERLEAVE_ADD = 1045
  8193. XML_RNGP_INTERLEAVE_CREATE_FAILED = 1046
  8194. XML_RNGP_INTERLEAVE_EMPTY = 1047
  8195. XML_RNGP_INTERLEAVE_NO_CONTENT = 1048
  8196. XML_RNGP_INVALID_DEFINE_NAME = 1049
  8197. XML_RNGP_INVALID_URI = 1050
  8198. XML_RNGP_INVALID_VALUE = 1051
  8199. XML_RNGP_MISSING_HREF = 1052
  8200. XML_RNGP_NAME_MISSING = 1053
  8201. XML_RNGP_NEED_COMBINE = 1054
  8202. XML_RNGP_NOTALLOWED_NOT_EMPTY = 1055
  8203. XML_RNGP_NSNAME_ATTR_ANCESTOR = 1056
  8204. XML_RNGP_NSNAME_NO_NS = 1057
  8205. XML_RNGP_PARAM_FORBIDDEN = 1058
  8206. XML_RNGP_PARAM_NAME_MISSING = 1059
  8207. XML_RNGP_PARENTREF_CREATE_FAILED = 1060
  8208. XML_RNGP_PARENTREF_NAME_INVALID = 1061
  8209. XML_RNGP_PARENTREF_NO_NAME = 1062
  8210. XML_RNGP_PARENTREF_NO_PARENT = 1063
  8211. XML_RNGP_PARENTREF_NOT_EMPTY = 1064
  8212. XML_RNGP_PARSE_ERROR = 1065
  8213. XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME = 1066
  8214. XML_RNGP_PAT_ATTR_ATTR = 1067
  8215. XML_RNGP_PAT_ATTR_ELEM = 1068
  8216. XML_RNGP_PAT_DATA_EXCEPT_ATTR = 1069
  8217. XML_RNGP_PAT_DATA_EXCEPT_ELEM = 1070
  8218. XML_RNGP_PAT_DATA_EXCEPT_EMPTY = 1071
  8219. XML_RNGP_PAT_DATA_EXCEPT_GROUP = 1072
  8220. XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE = 1073
  8221. XML_RNGP_PAT_DATA_EXCEPT_LIST = 1074
  8222. XML_RNGP_PAT_DATA_EXCEPT_ONEMORE = 1075
  8223. XML_RNGP_PAT_DATA_EXCEPT_REF = 1076
  8224. XML_RNGP_PAT_DATA_EXCEPT_TEXT = 1077
  8225. XML_RNGP_PAT_LIST_ATTR = 1078
  8226. XML_RNGP_PAT_LIST_ELEM = 1079
  8227. XML_RNGP_PAT_LIST_INTERLEAVE = 1080
  8228. XML_RNGP_PAT_LIST_LIST = 1081
  8229. XML_RNGP_PAT_LIST_REF = 1082
  8230. XML_RNGP_PAT_LIST_TEXT = 1083
  8231. XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME = 1084
  8232. XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME = 1085
  8233. XML_RNGP_PAT_ONEMORE_GROUP_ATTR = 1086
  8234. XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR = 1087
  8235. XML_RNGP_PAT_START_ATTR = 1088
  8236. XML_RNGP_PAT_START_DATA = 1089
  8237. XML_RNGP_PAT_START_EMPTY = 1090
  8238. XML_RNGP_PAT_START_GROUP = 1091
  8239. XML_RNGP_PAT_START_INTERLEAVE = 1092
  8240. XML_RNGP_PAT_START_LIST = 1093
  8241. XML_RNGP_PAT_START_ONEMORE = 1094
  8242. XML_RNGP_PAT_START_TEXT = 1095
  8243. XML_RNGP_PAT_START_VALUE = 1096
  8244. XML_RNGP_PREFIX_UNDEFINED = 1097
  8245. XML_RNGP_REF_CREATE_FAILED = 1098
  8246. XML_RNGP_REF_CYCLE = 1099
  8247. XML_RNGP_REF_NAME_INVALID = 1100
  8248. XML_RNGP_REF_NO_DEF = 1101
  8249. XML_RNGP_REF_NO_NAME = 1102
  8250. XML_RNGP_REF_NOT_EMPTY = 1103
  8251. XML_RNGP_START_CHOICE_AND_INTERLEAVE = 1104
  8252. XML_RNGP_START_CONTENT = 1105
  8253. XML_RNGP_START_EMPTY = 1106
  8254. XML_RNGP_START_MISSING = 1107
  8255. XML_RNGP_TEXT_EXPECTED = 1108
  8256. XML_RNGP_TEXT_HAS_CHILD = 1109
  8257. XML_RNGP_TYPE_MISSING = 1110
  8258. XML_RNGP_TYPE_NOT_FOUND = 1111
  8259. XML_RNGP_TYPE_VALUE = 1112
  8260. XML_RNGP_UNKNOWN_ATTRIBUTE = 1113
  8261. XML_RNGP_UNKNOWN_COMBINE = 1114
  8262. XML_RNGP_UNKNOWN_CONSTRUCT = 1115
  8263. XML_RNGP_UNKNOWN_TYPE_LIB = 1116
  8264. XML_RNGP_URI_FRAGMENT = 1117
  8265. XML_RNGP_URI_NOT_ABSOLUTE = 1118
  8266. XML_RNGP_VALUE_EMPTY = 1119
  8267. XML_RNGP_VALUE_NO_CONTENT = 1120
  8268. XML_RNGP_XMLNS_NAME = 1121
  8269. XML_RNGP_XML_NS = 1122
  8270. XML_XPATH_EXPRESSION_OK = 1200
  8271. XML_XPATH_NUMBER_ERROR = 1201
  8272. XML_XPATH_UNFINISHED_LITERAL_ERROR = 1202
  8273. XML_XPATH_START_LITERAL_ERROR = 1203
  8274. XML_XPATH_VARIABLE_REF_ERROR = 1204
  8275. XML_XPATH_UNDEF_VARIABLE_ERROR = 1205
  8276. XML_XPATH_INVALID_PREDICATE_ERROR = 1206
  8277. XML_XPATH_EXPR_ERROR = 1207
  8278. XML_XPATH_UNCLOSED_ERROR = 1208
  8279. XML_XPATH_UNKNOWN_FUNC_ERROR = 1209
  8280. XML_XPATH_INVALID_OPERAND = 1210
  8281. XML_XPATH_INVALID_TYPE = 1211
  8282. XML_XPATH_INVALID_ARITY = 1212
  8283. XML_XPATH_INVALID_CTXT_SIZE = 1213
  8284. XML_XPATH_INVALID_CTXT_POSITION = 1214
  8285. XML_XPATH_MEMORY_ERROR = 1215
  8286. XML_XPTR_SYNTAX_ERROR = 1216
  8287. XML_XPTR_RESOURCE_ERROR = 1217
  8288. XML_XPTR_SUB_RESOURCE_ERROR = 1218
  8289. XML_XPATH_UNDEF_PREFIX_ERROR = 1219
  8290. XML_XPATH_ENCODING_ERROR = 1220
  8291. XML_XPATH_INVALID_CHAR_ERROR = 1221
  8292. XML_TREE_INVALID_HEX = 1300
  8293. XML_TREE_INVALID_DEC = 1301
  8294. XML_TREE_UNTERMINATED_ENTITY = 1302
  8295. XML_TREE_NOT_UTF8 = 1303
  8296. XML_SAVE_NOT_UTF8 = 1400
  8297. XML_SAVE_CHAR_INVALID = 1401
  8298. XML_SAVE_NO_DOCTYPE = 1402
  8299. XML_SAVE_UNKNOWN_ENCODING = 1403
  8300. XML_REGEXP_COMPILE_ERROR = 1450
  8301. XML_IO_UNKNOWN = 1500
  8302. XML_IO_EACCES = 1501
  8303. XML_IO_EAGAIN = 1502
  8304. XML_IO_EBADF = 1503
  8305. XML_IO_EBADMSG = 1504
  8306. XML_IO_EBUSY = 1505
  8307. XML_IO_ECANCELED = 1506
  8308. XML_IO_ECHILD = 1507
  8309. XML_IO_EDEADLK = 1508
  8310. XML_IO_EDOM = 1509
  8311. XML_IO_EEXIST = 1510
  8312. XML_IO_EFAULT = 1511
  8313. XML_IO_EFBIG = 1512
  8314. XML_IO_EINPROGRESS = 1513
  8315. XML_IO_EINTR = 1514
  8316. XML_IO_EINVAL = 1515
  8317. XML_IO_EIO = 1516
  8318. XML_IO_EISDIR = 1517
  8319. XML_IO_EMFILE = 1518
  8320. XML_IO_EMLINK = 1519
  8321. XML_IO_EMSGSIZE = 1520
  8322. XML_IO_ENAMETOOLONG = 1521
  8323. XML_IO_ENFILE = 1522
  8324. XML_IO_ENODEV = 1523
  8325. XML_IO_ENOENT = 1524
  8326. XML_IO_ENOEXEC = 1525
  8327. XML_IO_ENOLCK = 1526
  8328. XML_IO_ENOMEM = 1527
  8329. XML_IO_ENOSPC = 1528
  8330. XML_IO_ENOSYS = 1529
  8331. XML_IO_ENOTDIR = 1530
  8332. XML_IO_ENOTEMPTY = 1531
  8333. XML_IO_ENOTSUP = 1532
  8334. XML_IO_ENOTTY = 1533
  8335. XML_IO_ENXIO = 1534
  8336. XML_IO_EPERM = 1535
  8337. XML_IO_EPIPE = 1536
  8338. XML_IO_ERANGE = 1537
  8339. XML_IO_EROFS = 1538
  8340. XML_IO_ESPIPE = 1539
  8341. XML_IO_ESRCH = 1540
  8342. XML_IO_ETIMEDOUT = 1541
  8343. XML_IO_EXDEV = 1542
  8344. XML_IO_NETWORK_ATTEMPT = 1543
  8345. XML_IO_ENCODER = 1544
  8346. XML_IO_FLUSH = 1545
  8347. XML_IO_WRITE = 1546
  8348. XML_IO_NO_INPUT = 1547
  8349. XML_IO_BUFFER_FULL = 1548
  8350. XML_IO_LOAD_ERROR = 1549
  8351. XML_IO_ENOTSOCK = 1550
  8352. XML_IO_EISCONN = 1551
  8353. XML_IO_ECONNREFUSED = 1552
  8354. XML_IO_ENETUNREACH = 1553
  8355. XML_IO_EADDRINUSE = 1554
  8356. XML_IO_EALREADY = 1555
  8357. XML_IO_EAFNOSUPPORT = 1556
  8358. XML_XINCLUDE_RECURSION = 1600
  8359. XML_XINCLUDE_PARSE_VALUE = 1601
  8360. XML_XINCLUDE_ENTITY_DEF_MISMATCH = 1602
  8361. XML_XINCLUDE_NO_HREF = 1603
  8362. XML_XINCLUDE_NO_FALLBACK = 1604
  8363. XML_XINCLUDE_HREF_URI = 1605
  8364. XML_XINCLUDE_TEXT_FRAGMENT = 1606
  8365. XML_XINCLUDE_TEXT_DOCUMENT = 1607
  8366. XML_XINCLUDE_INVALID_CHAR = 1608
  8367. XML_XINCLUDE_BUILD_FAILED = 1609
  8368. XML_XINCLUDE_UNKNOWN_ENCODING = 1610
  8369. XML_XINCLUDE_MULTIPLE_ROOT = 1611
  8370. XML_XINCLUDE_XPTR_FAILED = 1612
  8371. XML_XINCLUDE_XPTR_RESULT = 1613
  8372. XML_XINCLUDE_INCLUDE_IN_INCLUDE = 1614
  8373. XML_XINCLUDE_FALLBACKS_IN_INCLUDE = 1615
  8374. XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE = 1616
  8375. XML_XINCLUDE_DEPRECATED_NS = 1617
  8376. XML_XINCLUDE_FRAGMENT_ID = 1618
  8377. XML_CATALOG_MISSING_ATTR = 1650
  8378. XML_CATALOG_ENTRY_BROKEN = 1651
  8379. XML_CATALOG_PREFER_VALUE = 1652
  8380. XML_CATALOG_NOT_CATALOG = 1653
  8381. XML_CATALOG_RECURSION = 1654
  8382. XML_SCHEMAP_PREFIX_UNDEFINED = 1700
  8383. XML_SCHEMAP_ATTRFORMDEFAULT_VALUE = 1701
  8384. XML_SCHEMAP_ATTRGRP_NONAME_NOREF = 1702
  8385. XML_SCHEMAP_ATTR_NONAME_NOREF = 1703
  8386. XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF = 1704
  8387. XML_SCHEMAP_ELEMFORMDEFAULT_VALUE = 1705
  8388. XML_SCHEMAP_ELEM_NONAME_NOREF = 1706
  8389. XML_SCHEMAP_EXTENSION_NO_BASE = 1707
  8390. XML_SCHEMAP_FACET_NO_VALUE = 1708
  8391. XML_SCHEMAP_FAILED_BUILD_IMPORT = 1709
  8392. XML_SCHEMAP_GROUP_NONAME_NOREF = 1710
  8393. XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI = 1711
  8394. XML_SCHEMAP_IMPORT_REDEFINE_NSNAME = 1712
  8395. XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI = 1713
  8396. XML_SCHEMAP_INVALID_BOOLEAN = 1714
  8397. XML_SCHEMAP_INVALID_ENUM = 1715
  8398. XML_SCHEMAP_INVALID_FACET = 1716
  8399. XML_SCHEMAP_INVALID_FACET_VALUE = 1717
  8400. XML_SCHEMAP_INVALID_MAXOCCURS = 1718
  8401. XML_SCHEMAP_INVALID_MINOCCURS = 1719
  8402. XML_SCHEMAP_INVALID_REF_AND_SUBTYPE = 1720
  8403. XML_SCHEMAP_INVALID_WHITE_SPACE = 1721
  8404. XML_SCHEMAP_NOATTR_NOREF = 1722
  8405. XML_SCHEMAP_NOTATION_NO_NAME = 1723
  8406. XML_SCHEMAP_NOTYPE_NOREF = 1724
  8407. XML_SCHEMAP_REF_AND_SUBTYPE = 1725
  8408. XML_SCHEMAP_RESTRICTION_NONAME_NOREF = 1726
  8409. XML_SCHEMAP_SIMPLETYPE_NONAME = 1727
  8410. XML_SCHEMAP_TYPE_AND_SUBTYPE = 1728
  8411. XML_SCHEMAP_UNKNOWN_ALL_CHILD = 1729
  8412. XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD = 1730
  8413. XML_SCHEMAP_UNKNOWN_ATTR_CHILD = 1731
  8414. XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD = 1732
  8415. XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP = 1733
  8416. XML_SCHEMAP_UNKNOWN_BASE_TYPE = 1734
  8417. XML_SCHEMAP_UNKNOWN_CHOICE_CHILD = 1735
  8418. XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD = 1736
  8419. XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD = 1737
  8420. XML_SCHEMAP_UNKNOWN_ELEM_CHILD = 1738
  8421. XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD = 1739
  8422. XML_SCHEMAP_UNKNOWN_FACET_CHILD = 1740
  8423. XML_SCHEMAP_UNKNOWN_FACET_TYPE = 1741
  8424. XML_SCHEMAP_UNKNOWN_GROUP_CHILD = 1742
  8425. XML_SCHEMAP_UNKNOWN_IMPORT_CHILD = 1743
  8426. XML_SCHEMAP_UNKNOWN_LIST_CHILD = 1744
  8427. XML_SCHEMAP_UNKNOWN_NOTATION_CHILD = 1745
  8428. XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD = 1746
  8429. XML_SCHEMAP_UNKNOWN_REF = 1747
  8430. XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD = 1748
  8431. XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD = 1749
  8432. XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD = 1750
  8433. XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD = 1751
  8434. XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD = 1752
  8435. XML_SCHEMAP_UNKNOWN_TYPE = 1753
  8436. XML_SCHEMAP_UNKNOWN_UNION_CHILD = 1754
  8437. XML_SCHEMAP_ELEM_DEFAULT_FIXED = 1755
  8438. XML_SCHEMAP_REGEXP_INVALID = 1756
  8439. XML_SCHEMAP_FAILED_LOAD = 1757
  8440. XML_SCHEMAP_NOTHING_TO_PARSE = 1758
  8441. XML_SCHEMAP_NOROOT = 1759
  8442. XML_SCHEMAP_REDEFINED_GROUP = 1760
  8443. XML_SCHEMAP_REDEFINED_TYPE = 1761
  8444. XML_SCHEMAP_REDEFINED_ELEMENT = 1762
  8445. XML_SCHEMAP_REDEFINED_ATTRGROUP = 1763
  8446. XML_SCHEMAP_REDEFINED_ATTR = 1764
  8447. XML_SCHEMAP_REDEFINED_NOTATION = 1765
  8448. XML_SCHEMAP_FAILED_PARSE = 1766
  8449. XML_SCHEMAP_UNKNOWN_PREFIX = 1767
  8450. XML_SCHEMAP_DEF_AND_PREFIX = 1768
  8451. XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD = 1769
  8452. XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI = 1770
  8453. XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI = 1771
  8454. XML_SCHEMAP_NOT_SCHEMA = 1772
  8455. XML_SCHEMAP_UNKNOWN_MEMBER_TYPE = 1773
  8456. XML_SCHEMAP_INVALID_ATTR_USE = 1774
  8457. XML_SCHEMAP_RECURSIVE = 1775
  8458. XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE = 1776
  8459. XML_SCHEMAP_INVALID_ATTR_COMBINATION = 1777
  8460. XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION = 1778
  8461. XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD = 1779
  8462. XML_SCHEMAP_INVALID_ATTR_NAME = 1780
  8463. XML_SCHEMAP_REF_AND_CONTENT = 1781
  8464. XML_SCHEMAP_CT_PROPS_CORRECT_1 = 1782
  8465. XML_SCHEMAP_CT_PROPS_CORRECT_2 = 1783
  8466. XML_SCHEMAP_CT_PROPS_CORRECT_3 = 1784
  8467. XML_SCHEMAP_CT_PROPS_CORRECT_4 = 1785
  8468. XML_SCHEMAP_CT_PROPS_CORRECT_5 = 1786
  8469. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1 = 1787
  8470. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1 = 1788
  8471. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2 = 1789
  8472. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2 = 1790
  8473. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3 = 1791
  8474. XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER = 1792
  8475. XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE = 1793
  8476. XML_SCHEMAP_UNION_NOT_EXPRESSIBLE = 1794
  8477. XML_SCHEMAP_SRC_IMPORT_3_1 = 1795
  8478. XML_SCHEMAP_SRC_IMPORT_3_2 = 1796
  8479. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1 = 1797
  8480. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2 = 1798
  8481. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3 = 1799
  8482. XML_SCHEMAP_COS_CT_EXTENDS_1_3 = 1800
  8483. XML_SCHEMAV_NOROOT = 1801
  8484. XML_SCHEMAV_UNDECLAREDELEM = 1802
  8485. XML_SCHEMAV_NOTTOPLEVEL = 1803
  8486. XML_SCHEMAV_MISSING = 1804
  8487. XML_SCHEMAV_WRONGELEM = 1805
  8488. XML_SCHEMAV_NOTYPE = 1806
  8489. XML_SCHEMAV_NOROLLBACK = 1807
  8490. XML_SCHEMAV_ISABSTRACT = 1808
  8491. XML_SCHEMAV_NOTEMPTY = 1809
  8492. XML_SCHEMAV_ELEMCONT = 1810
  8493. XML_SCHEMAV_HAVEDEFAULT = 1811
  8494. XML_SCHEMAV_NOTNILLABLE = 1812
  8495. XML_SCHEMAV_EXTRACONTENT = 1813
  8496. XML_SCHEMAV_INVALIDATTR = 1814
  8497. XML_SCHEMAV_INVALIDELEM = 1815
  8498. XML_SCHEMAV_NOTDETERMINIST = 1816
  8499. XML_SCHEMAV_CONSTRUCT = 1817
  8500. XML_SCHEMAV_INTERNAL = 1818
  8501. XML_SCHEMAV_NOTSIMPLE = 1819
  8502. XML_SCHEMAV_ATTRUNKNOWN = 1820
  8503. XML_SCHEMAV_ATTRINVALID = 1821
  8504. XML_SCHEMAV_VALUE = 1822
  8505. XML_SCHEMAV_FACET = 1823
  8506. XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1 = 1824
  8507. XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2 = 1825
  8508. XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3 = 1826
  8509. XML_SCHEMAV_CVC_TYPE_3_1_1 = 1827
  8510. XML_SCHEMAV_CVC_TYPE_3_1_2 = 1828
  8511. XML_SCHEMAV_CVC_FACET_VALID = 1829
  8512. XML_SCHEMAV_CVC_LENGTH_VALID = 1830
  8513. XML_SCHEMAV_CVC_MINLENGTH_VALID = 1831
  8514. XML_SCHEMAV_CVC_MAXLENGTH_VALID = 1832
  8515. XML_SCHEMAV_CVC_MININCLUSIVE_VALID = 1833
  8516. XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID = 1834
  8517. XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID = 1835
  8518. XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID = 1836
  8519. XML_SCHEMAV_CVC_TOTALDIGITS_VALID = 1837
  8520. XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID = 1838
  8521. XML_SCHEMAV_CVC_PATTERN_VALID = 1839
  8522. XML_SCHEMAV_CVC_ENUMERATION_VALID = 1840
  8523. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1 = 1841
  8524. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2 = 1842
  8525. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3 = 1843
  8526. XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4 = 1844
  8527. XML_SCHEMAV_CVC_ELT_1 = 1845
  8528. XML_SCHEMAV_CVC_ELT_2 = 1846
  8529. XML_SCHEMAV_CVC_ELT_3_1 = 1847
  8530. XML_SCHEMAV_CVC_ELT_3_2_1 = 1848
  8531. XML_SCHEMAV_CVC_ELT_3_2_2 = 1849
  8532. XML_SCHEMAV_CVC_ELT_4_1 = 1850
  8533. XML_SCHEMAV_CVC_ELT_4_2 = 1851
  8534. XML_SCHEMAV_CVC_ELT_4_3 = 1852
  8535. XML_SCHEMAV_CVC_ELT_5_1_1 = 1853
  8536. XML_SCHEMAV_CVC_ELT_5_1_2 = 1854
  8537. XML_SCHEMAV_CVC_ELT_5_2_1 = 1855
  8538. XML_SCHEMAV_CVC_ELT_5_2_2_1 = 1856
  8539. XML_SCHEMAV_CVC_ELT_5_2_2_2_1 = 1857
  8540. XML_SCHEMAV_CVC_ELT_5_2_2_2_2 = 1858
  8541. XML_SCHEMAV_CVC_ELT_6 = 1859
  8542. XML_SCHEMAV_CVC_ELT_7 = 1860
  8543. XML_SCHEMAV_CVC_ATTRIBUTE_1 = 1861
  8544. XML_SCHEMAV_CVC_ATTRIBUTE_2 = 1862
  8545. XML_SCHEMAV_CVC_ATTRIBUTE_3 = 1863
  8546. XML_SCHEMAV_CVC_ATTRIBUTE_4 = 1864
  8547. XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1 = 1865
  8548. XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1 = 1866
  8549. XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2 = 1867
  8550. XML_SCHEMAV_CVC_COMPLEX_TYPE_4 = 1868
  8551. XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1 = 1869
  8552. XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2 = 1870
  8553. XML_SCHEMAV_ELEMENT_CONTENT = 1871
  8554. XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING = 1872
  8555. XML_SCHEMAV_CVC_COMPLEX_TYPE_1 = 1873
  8556. XML_SCHEMAV_CVC_AU = 1874
  8557. XML_SCHEMAV_CVC_TYPE_1 = 1875
  8558. XML_SCHEMAV_CVC_TYPE_2 = 1876
  8559. XML_SCHEMAV_CVC_IDC = 1877
  8560. XML_SCHEMAV_CVC_WILDCARD = 1878
  8561. XML_SCHEMAV_MISC = 1879
  8562. XML_XPTR_UNKNOWN_SCHEME = 1900
  8563. XML_XPTR_CHILDSEQ_START = 1901
  8564. XML_XPTR_EVAL_FAILED = 1902
  8565. XML_XPTR_EXTRA_OBJECTS = 1903
  8566. XML_C14N_CREATE_CTXT = 1950
  8567. XML_C14N_REQUIRES_UTF8 = 1951
  8568. XML_C14N_CREATE_STACK = 1952
  8569. XML_C14N_INVALID_NODE = 1953
  8570. XML_C14N_UNKNOW_NODE = 1954
  8571. XML_C14N_RELATIVE_NAMESPACE = 1955
  8572. XML_FTP_PASV_ANSWER = 2000
  8573. XML_FTP_EPSV_ANSWER = 2001
  8574. XML_FTP_ACCNT = 2002
  8575. XML_FTP_URL_SYNTAX = 2003
  8576. XML_HTTP_URL_SYNTAX = 2020
  8577. XML_HTTP_USE_IP = 2021
  8578. XML_HTTP_UNKNOWN_HOST = 2022
  8579. XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000
  8580. XML_SCHEMAP_SRC_SIMPLE_TYPE_2 = 3001
  8581. XML_SCHEMAP_SRC_SIMPLE_TYPE_3 = 3002
  8582. XML_SCHEMAP_SRC_SIMPLE_TYPE_4 = 3003
  8583. XML_SCHEMAP_SRC_RESOLVE = 3004
  8584. XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE = 3005
  8585. XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE = 3006
  8586. XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES = 3007
  8587. XML_SCHEMAP_ST_PROPS_CORRECT_1 = 3008
  8588. XML_SCHEMAP_ST_PROPS_CORRECT_2 = 3009
  8589. XML_SCHEMAP_ST_PROPS_CORRECT_3 = 3010
  8590. XML_SCHEMAP_COS_ST_RESTRICTS_1_1 = 3011
  8591. XML_SCHEMAP_COS_ST_RESTRICTS_1_2 = 3012
  8592. XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1 = 3013
  8593. XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2 = 3014
  8594. XML_SCHEMAP_COS_ST_RESTRICTS_2_1 = 3015
  8595. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1 = 3016
  8596. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2 = 3017
  8597. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1 = 3018
  8598. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2 = 3019
  8599. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3 = 3020
  8600. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4 = 3021
  8601. XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5 = 3022
  8602. XML_SCHEMAP_COS_ST_RESTRICTS_3_1 = 3023
  8603. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1 = 3024
  8604. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2 = 3025
  8605. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2 = 3026
  8606. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1 = 3027
  8607. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3 = 3028
  8608. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4 = 3029
  8609. XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5 = 3030
  8610. XML_SCHEMAP_COS_ST_DERIVED_OK_2_1 = 3031
  8611. XML_SCHEMAP_COS_ST_DERIVED_OK_2_2 = 3032
  8612. XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED = 3033
  8613. XML_SCHEMAP_S4S_ELEM_MISSING = 3034
  8614. XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED = 3035
  8615. XML_SCHEMAP_S4S_ATTR_MISSING = 3036
  8616. XML_SCHEMAP_S4S_ATTR_INVALID_VALUE = 3037
  8617. XML_SCHEMAP_SRC_ELEMENT_1 = 3038
  8618. XML_SCHEMAP_SRC_ELEMENT_2_1 = 3039
  8619. XML_SCHEMAP_SRC_ELEMENT_2_2 = 3040
  8620. XML_SCHEMAP_SRC_ELEMENT_3 = 3041
  8621. XML_SCHEMAP_P_PROPS_CORRECT_1 = 3042
  8622. XML_SCHEMAP_P_PROPS_CORRECT_2_1 = 3043
  8623. XML_SCHEMAP_P_PROPS_CORRECT_2_2 = 3044
  8624. XML_SCHEMAP_E_PROPS_CORRECT_2 = 3045
  8625. XML_SCHEMAP_E_PROPS_CORRECT_3 = 3046
  8626. XML_SCHEMAP_E_PROPS_CORRECT_4 = 3047
  8627. XML_SCHEMAP_E_PROPS_CORRECT_5 = 3048
  8628. XML_SCHEMAP_E_PROPS_CORRECT_6 = 3049
  8629. XML_SCHEMAP_SRC_INCLUDE = 3050
  8630. XML_SCHEMAP_SRC_ATTRIBUTE_1 = 3051
  8631. XML_SCHEMAP_SRC_ATTRIBUTE_2 = 3052
  8632. XML_SCHEMAP_SRC_ATTRIBUTE_3_1 = 3053
  8633. XML_SCHEMAP_SRC_ATTRIBUTE_3_2 = 3054
  8634. XML_SCHEMAP_SRC_ATTRIBUTE_4 = 3055
  8635. XML_SCHEMAP_NO_XMLNS = 3056
  8636. XML_SCHEMAP_NO_XSI = 3057
  8637. XML_SCHEMAP_COS_VALID_DEFAULT_1 = 3058
  8638. XML_SCHEMAP_COS_VALID_DEFAULT_2_1 = 3059
  8639. XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1 = 3060
  8640. XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2 = 3061
  8641. XML_SCHEMAP_CVC_SIMPLE_TYPE = 3062
  8642. XML_SCHEMAP_COS_CT_EXTENDS_1_1 = 3063
  8643. XML_SCHEMAP_SRC_IMPORT_1_1 = 3064
  8644. XML_SCHEMAP_SRC_IMPORT_1_2 = 3065
  8645. XML_SCHEMAP_SRC_IMPORT_2 = 3066
  8646. XML_SCHEMAP_SRC_IMPORT_2_1 = 3067
  8647. XML_SCHEMAP_SRC_IMPORT_2_2 = 3068
  8648. XML_SCHEMAP_INTERNAL = 3069
  8649. XML_SCHEMAP_NOT_DETERMINISTIC = 3070
  8650. XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1 = 3071
  8651. XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2 = 3072
  8652. XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3 = 3073
  8653. XML_SCHEMAP_MG_PROPS_CORRECT_1 = 3074
  8654. XML_SCHEMAP_MG_PROPS_CORRECT_2 = 3075
  8655. XML_SCHEMAP_SRC_CT_1 = 3076
  8656. XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3 = 3077
  8657. XML_SCHEMAP_AU_PROPS_CORRECT_2 = 3078
  8658. XML_SCHEMAP_A_PROPS_CORRECT_2 = 3079
  8659. XML_SCHEMAP_C_PROPS_CORRECT = 3080
  8660. XML_SCHEMAP_SRC_REDEFINE = 3081
  8661. XML_SCHEMAP_SRC_IMPORT = 3082
  8662. XML_SCHEMAP_WARN_SKIP_SCHEMA = 3083
  8663. XML_SCHEMAP_WARN_UNLOCATED_SCHEMA = 3084
  8664. XML_SCHEMAP_WARN_ATTR_REDECL_PROH = 3085
  8665. XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH = 3086
  8666. XML_SCHEMAP_AG_PROPS_CORRECT = 3087
  8667. XML_SCHEMAP_COS_CT_EXTENDS_1_2 = 3088
  8668. XML_SCHEMAP_AU_PROPS_CORRECT = 3089
  8669. XML_SCHEMAP_A_PROPS_CORRECT_3 = 3090
  8670. XML_SCHEMAP_COS_ALL_LIMITED = 3091
  8671. XML_SCHEMATRONV_ASSERT = 4000
  8672. XML_SCHEMATRONV_REPORT = 4001
  8673. XML_MODULE_OPEN = 4900
  8674. XML_MODULE_CLOSE = 4901
  8675. XML_CHECK_FOUND_ELEMENT = 5000
  8676. XML_CHECK_FOUND_ATTRIBUTE = 5001
  8677. XML_CHECK_FOUND_TEXT = 5002
  8678. XML_CHECK_FOUND_CDATA = 5003
  8679. XML_CHECK_FOUND_ENTITYREF = 5004
  8680. XML_CHECK_FOUND_ENTITY = 5005
  8681. XML_CHECK_FOUND_PI = 5006
  8682. XML_CHECK_FOUND_COMMENT = 5007
  8683. XML_CHECK_FOUND_DOCTYPE = 5008
  8684. XML_CHECK_FOUND_FRAGMENT = 5009
  8685. XML_CHECK_FOUND_NOTATION = 5010
  8686. XML_CHECK_UNKNOWN_NODE = 5011
  8687. XML_CHECK_ENTITY_TYPE = 5012
  8688. XML_CHECK_NO_PARENT = 5013
  8689. XML_CHECK_NO_DOC = 5014
  8690. XML_CHECK_NO_NAME = 5015
  8691. XML_CHECK_NO_ELEM = 5016
  8692. XML_CHECK_WRONG_DOC = 5017
  8693. XML_CHECK_NO_PREV = 5018
  8694. XML_CHECK_WRONG_PREV = 5019
  8695. XML_CHECK_NO_NEXT = 5020
  8696. XML_CHECK_WRONG_NEXT = 5021
  8697. XML_CHECK_NOT_DTD = 5022
  8698. XML_CHECK_NOT_ATTR = 5023
  8699. XML_CHECK_NOT_ATTR_DECL = 5024
  8700. XML_CHECK_NOT_ELEM_DECL = 5025
  8701. XML_CHECK_NOT_ENTITY_DECL = 5026
  8702. XML_CHECK_NOT_NS_DECL = 5027
  8703. XML_CHECK_NO_HREF = 5028
  8704. XML_CHECK_WRONG_PARENT = 5029
  8705. XML_CHECK_NS_SCOPE = 5030
  8706. XML_CHECK_NS_ANCESTOR = 5031
  8707. XML_CHECK_NOT_UTF8 = 5032
  8708. XML_CHECK_NO_DICT = 5033
  8709. XML_CHECK_NOT_NCNAME = 5034
  8710. XML_CHECK_OUTSIDE_DICT = 5035
  8711. XML_CHECK_WRONG_NAME = 5036
  8712. XML_CHECK_NAME_NOT_NULL = 5037
  8713. XML_I18N_NO_NAME = 6000
  8714. XML_I18N_NO_HANDLER = 6001
  8715. XML_I18N_EXCESS_HANDLER = 6002
  8716. XML_I18N_CONV_FAILED = 6003
  8717. XML_I18N_NO_OUTPUT = 6004
  8718. XML_CHECK_ = 6005
  8719. XML_CHECK_X = 6006
  8720.  
  8721. # xmlExpNodeType
  8722. XML_EXP_EMPTY = 0
  8723. XML_EXP_FORBID = 1
  8724. XML_EXP_ATOM = 2
  8725. XML_EXP_SEQ = 3
  8726. XML_EXP_OR = 4
  8727. XML_EXP_COUNT = 5
  8728.  
  8729. # xmlElementContentType
  8730. XML_ELEMENT_CONTENT_PCDATA = 1
  8731. XML_ELEMENT_CONTENT_ELEMENT = 2
  8732. XML_ELEMENT_CONTENT_SEQ = 3
  8733. XML_ELEMENT_CONTENT_OR = 4
  8734.  
  8735. # xmlParserProperties
  8736. XML_PARSER_LOADDTD = 1
  8737. XML_PARSER_DEFAULTATTRS = 2
  8738. XML_PARSER_VALIDATE = 3
  8739. XML_PARSER_SUBST_ENTITIES = 4
  8740.  
  8741. # xmlReaderTypes
  8742. XML_READER_TYPE_NONE = 0
  8743. XML_READER_TYPE_ELEMENT = 1
  8744. XML_READER_TYPE_ATTRIBUTE = 2
  8745. XML_READER_TYPE_TEXT = 3
  8746. XML_READER_TYPE_CDATA = 4
  8747. XML_READER_TYPE_ENTITY_REFERENCE = 5
  8748. XML_READER_TYPE_ENTITY = 6
  8749. XML_READER_TYPE_PROCESSING_INSTRUCTION = 7
  8750. XML_READER_TYPE_COMMENT = 8
  8751. XML_READER_TYPE_DOCUMENT = 9
  8752. XML_READER_TYPE_DOCUMENT_TYPE = 10
  8753. XML_READER_TYPE_DOCUMENT_FRAGMENT = 11
  8754. XML_READER_TYPE_NOTATION = 12
  8755. XML_READER_TYPE_WHITESPACE = 13
  8756. XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14
  8757. XML_READER_TYPE_END_ELEMENT = 15
  8758. XML_READER_TYPE_END_ENTITY = 16
  8759. XML_READER_TYPE_XML_DECLARATION = 17
  8760.  
  8761. # xmlCatalogPrefer
  8762. XML_CATA_PREFER_NONE = 0
  8763. XML_CATA_PREFER_PUBLIC = 1
  8764. XML_CATA_PREFER_SYSTEM = 2
  8765.  
  8766. # xmlElementType
  8767. XML_ELEMENT_NODE = 1
  8768. XML_ATTRIBUTE_NODE = 2
  8769. XML_TEXT_NODE = 3
  8770. XML_CDATA_SECTION_NODE = 4
  8771. XML_ENTITY_REF_NODE = 5
  8772. XML_ENTITY_NODE = 6
  8773. XML_PI_NODE = 7
  8774. XML_COMMENT_NODE = 8
  8775. XML_DOCUMENT_NODE = 9
  8776. XML_DOCUMENT_TYPE_NODE = 10
  8777. XML_DOCUMENT_FRAG_NODE = 11
  8778. XML_NOTATION_NODE = 12
  8779. XML_HTML_DOCUMENT_NODE = 13
  8780. XML_DTD_NODE = 14
  8781. XML_ELEMENT_DECL = 15
  8782. XML_ATTRIBUTE_DECL = 16
  8783. XML_ENTITY_DECL = 17
  8784. XML_NAMESPACE_DECL = 18
  8785. XML_XINCLUDE_START = 19
  8786. XML_XINCLUDE_END = 20
  8787. XML_DOCB_DOCUMENT_NODE = 21
  8788.  
  8789. # xlinkActuate
  8790. XLINK_ACTUATE_NONE = 0
  8791. XLINK_ACTUATE_AUTO = 1
  8792. XLINK_ACTUATE_ONREQUEST = 2
  8793.  
  8794. # xmlFeature
  8795. XML_WITH_THREAD = 1
  8796. XML_WITH_TREE = 2
  8797. XML_WITH_OUTPUT = 3
  8798. XML_WITH_PUSH = 4
  8799. XML_WITH_READER = 5
  8800. XML_WITH_PATTERN = 6
  8801. XML_WITH_WRITER = 7
  8802. XML_WITH_SAX1 = 8
  8803. XML_WITH_FTP = 9
  8804. XML_WITH_HTTP = 10
  8805. XML_WITH_VALID = 11
  8806. XML_WITH_HTML = 12
  8807. XML_WITH_LEGACY = 13
  8808. XML_WITH_C14N = 14
  8809. XML_WITH_CATALOG = 15
  8810. XML_WITH_XPATH = 16
  8811. XML_WITH_XPTR = 17
  8812. XML_WITH_XINCLUDE = 18
  8813. XML_WITH_ICONV = 19
  8814. XML_WITH_ISO8859X = 20
  8815. XML_WITH_UNICODE = 21
  8816. XML_WITH_REGEXP = 22
  8817. XML_WITH_AUTOMATA = 23
  8818. XML_WITH_EXPR = 24
  8819. XML_WITH_SCHEMAS = 25
  8820. XML_WITH_SCHEMATRON = 26
  8821. XML_WITH_MODULES = 27
  8822. XML_WITH_DEBUG = 28
  8823. XML_WITH_DEBUG_MEM = 29
  8824. XML_WITH_DEBUG_RUN = 30
  8825. XML_WITH_ZLIB = 31
  8826. XML_WITH_NONE = 99999
  8827.  
  8828. # xmlElementContentOccur
  8829. XML_ELEMENT_CONTENT_ONCE = 1
  8830. XML_ELEMENT_CONTENT_OPT = 2
  8831. XML_ELEMENT_CONTENT_MULT = 3
  8832. XML_ELEMENT_CONTENT_PLUS = 4
  8833.  
  8834. # xmlXPathError
  8835. XPATH_EXPRESSION_OK = 0
  8836. XPATH_NUMBER_ERROR = 1
  8837. XPATH_UNFINISHED_LITERAL_ERROR = 2
  8838. XPATH_START_LITERAL_ERROR = 3
  8839. XPATH_VARIABLE_REF_ERROR = 4
  8840. XPATH_UNDEF_VARIABLE_ERROR = 5
  8841. XPATH_INVALID_PREDICATE_ERROR = 6
  8842. XPATH_EXPR_ERROR = 7
  8843. XPATH_UNCLOSED_ERROR = 8
  8844. XPATH_UNKNOWN_FUNC_ERROR = 9
  8845. XPATH_INVALID_OPERAND = 10
  8846. XPATH_INVALID_TYPE = 11
  8847. XPATH_INVALID_ARITY = 12
  8848. XPATH_INVALID_CTXT_SIZE = 13
  8849. XPATH_INVALID_CTXT_POSITION = 14
  8850. XPATH_MEMORY_ERROR = 15
  8851. XPTR_SYNTAX_ERROR = 16
  8852. XPTR_RESOURCE_ERROR = 17
  8853. XPTR_SUB_RESOURCE_ERROR = 18
  8854. XPATH_UNDEF_PREFIX_ERROR = 19
  8855. XPATH_ENCODING_ERROR = 20
  8856. XPATH_INVALID_CHAR_ERROR = 21
  8857. XPATH_INVALID_CTXT = 22
  8858.  
  8859. # xmlTextReaderMode
  8860. XML_TEXTREADER_MODE_INITIAL = 0
  8861. XML_TEXTREADER_MODE_INTERACTIVE = 1
  8862. XML_TEXTREADER_MODE_ERROR = 2
  8863. XML_TEXTREADER_MODE_EOF = 3
  8864. XML_TEXTREADER_MODE_CLOSED = 4
  8865. XML_TEXTREADER_MODE_READING = 5
  8866.  
  8867. # xmlErrorLevel
  8868. XML_ERR_NONE = 0
  8869. XML_ERR_WARNING = 1
  8870. XML_ERR_ERROR = 2
  8871. XML_ERR_FATAL = 3
  8872.  
  8873. # xmlCharEncoding
  8874. XML_CHAR_ENCODING_ERROR = -1
  8875. XML_CHAR_ENCODING_NONE = 0
  8876. XML_CHAR_ENCODING_UTF8 = 1
  8877. XML_CHAR_ENCODING_UTF16LE = 2
  8878. XML_CHAR_ENCODING_UTF16BE = 3
  8879. XML_CHAR_ENCODING_UCS4LE = 4
  8880. XML_CHAR_ENCODING_UCS4BE = 5
  8881. XML_CHAR_ENCODING_EBCDIC = 6
  8882. XML_CHAR_ENCODING_UCS4_2143 = 7
  8883. XML_CHAR_ENCODING_UCS4_3412 = 8
  8884. XML_CHAR_ENCODING_UCS2 = 9
  8885. XML_CHAR_ENCODING_8859_1 = 10
  8886. XML_CHAR_ENCODING_8859_2 = 11
  8887. XML_CHAR_ENCODING_8859_3 = 12
  8888. XML_CHAR_ENCODING_8859_4 = 13
  8889. XML_CHAR_ENCODING_8859_5 = 14
  8890. XML_CHAR_ENCODING_8859_6 = 15
  8891. XML_CHAR_ENCODING_8859_7 = 16
  8892. XML_CHAR_ENCODING_8859_8 = 17
  8893. XML_CHAR_ENCODING_8859_9 = 18
  8894. XML_CHAR_ENCODING_2022_JP = 19
  8895. XML_CHAR_ENCODING_SHIFT_JIS = 20
  8896. XML_CHAR_ENCODING_EUC_JP = 21
  8897. XML_CHAR_ENCODING_ASCII = 22
  8898.  
  8899. # xmlErrorDomain
  8900. XML_FROM_NONE = 0
  8901. XML_FROM_PARSER = 1
  8902. XML_FROM_TREE = 2
  8903. XML_FROM_NAMESPACE = 3
  8904. XML_FROM_DTD = 4
  8905. XML_FROM_HTML = 5
  8906. XML_FROM_MEMORY = 6
  8907. XML_FROM_OUTPUT = 7
  8908. XML_FROM_IO = 8
  8909. XML_FROM_FTP = 9
  8910. XML_FROM_HTTP = 10
  8911. XML_FROM_XINCLUDE = 11
  8912. XML_FROM_XPATH = 12
  8913. XML_FROM_XPOINTER = 13
  8914. XML_FROM_REGEXP = 14
  8915. XML_FROM_DATATYPE = 15
  8916. XML_FROM_SCHEMASP = 16
  8917. XML_FROM_SCHEMASV = 17
  8918. XML_FROM_RELAXNGP = 18
  8919. XML_FROM_RELAXNGV = 19
  8920. XML_FROM_CATALOG = 20
  8921. XML_FROM_C14N = 21
  8922. XML_FROM_XSLT = 22
  8923. XML_FROM_VALID = 23
  8924. XML_FROM_CHECK = 24
  8925. XML_FROM_WRITER = 25
  8926. XML_FROM_MODULE = 26
  8927. XML_FROM_I18N = 27
  8928. XML_FROM_SCHEMATRONV = 28
  8929.  
  8930. # htmlStatus
  8931. HTML_NA = 0
  8932. HTML_INVALID = 1
  8933. HTML_DEPRECATED = 2
  8934. HTML_VALID = 4
  8935. HTML_REQUIRED = 12
  8936.  
  8937. # xmlSchemaValidOption
  8938. XML_SCHEMA_VAL_VC_I_CREATE = 1
  8939.  
  8940. # xmlSchemaWhitespaceValueType
  8941. XML_SCHEMA_WHITESPACE_UNKNOWN = 0
  8942. XML_SCHEMA_WHITESPACE_PRESERVE = 1
  8943. XML_SCHEMA_WHITESPACE_REPLACE = 2
  8944. XML_SCHEMA_WHITESPACE_COLLAPSE = 3
  8945.  
  8946. # htmlParserOption
  8947. HTML_PARSE_RECOVER = 1
  8948. HTML_PARSE_NOERROR = 32
  8949. HTML_PARSE_NOWARNING = 64
  8950. HTML_PARSE_PEDANTIC = 128
  8951. HTML_PARSE_NOBLANKS = 256
  8952. HTML_PARSE_NONET = 2048
  8953. HTML_PARSE_COMPACT = 65536
  8954.  
  8955. # xmlRelaxNGValidErr
  8956. XML_RELAXNG_OK = 0
  8957. XML_RELAXNG_ERR_MEMORY = 1
  8958. XML_RELAXNG_ERR_TYPE = 2
  8959. XML_RELAXNG_ERR_TYPEVAL = 3
  8960. XML_RELAXNG_ERR_DUPID = 4
  8961. XML_RELAXNG_ERR_TYPECMP = 5
  8962. XML_RELAXNG_ERR_NOSTATE = 6
  8963. XML_RELAXNG_ERR_NODEFINE = 7
  8964. XML_RELAXNG_ERR_LISTEXTRA = 8
  8965. XML_RELAXNG_ERR_LISTEMPTY = 9
  8966. XML_RELAXNG_ERR_INTERNODATA = 10
  8967. XML_RELAXNG_ERR_INTERSEQ = 11
  8968. XML_RELAXNG_ERR_INTEREXTRA = 12
  8969. XML_RELAXNG_ERR_ELEMNAME = 13
  8970. XML_RELAXNG_ERR_ATTRNAME = 14
  8971. XML_RELAXNG_ERR_ELEMNONS = 15
  8972. XML_RELAXNG_ERR_ATTRNONS = 16
  8973. XML_RELAXNG_ERR_ELEMWRONGNS = 17
  8974. XML_RELAXNG_ERR_ATTRWRONGNS = 18
  8975. XML_RELAXNG_ERR_ELEMEXTRANS = 19
  8976. XML_RELAXNG_ERR_ATTREXTRANS = 20
  8977. XML_RELAXNG_ERR_ELEMNOTEMPTY = 21
  8978. XML_RELAXNG_ERR_NOELEM = 22
  8979. XML_RELAXNG_ERR_NOTELEM = 23
  8980. XML_RELAXNG_ERR_ATTRVALID = 24
  8981. XML_RELAXNG_ERR_CONTENTVALID = 25
  8982. XML_RELAXNG_ERR_EXTRACONTENT = 26
  8983. XML_RELAXNG_ERR_INVALIDATTR = 27
  8984. XML_RELAXNG_ERR_DATAELEM = 28
  8985. XML_RELAXNG_ERR_VALELEM = 29
  8986. XML_RELAXNG_ERR_LISTELEM = 30
  8987. XML_RELAXNG_ERR_DATATYPE = 31
  8988. XML_RELAXNG_ERR_VALUE = 32
  8989. XML_RELAXNG_ERR_LIST = 33
  8990. XML_RELAXNG_ERR_NOGRAMMAR = 34
  8991. XML_RELAXNG_ERR_EXTRADATA = 35
  8992. XML_RELAXNG_ERR_LACKDATA = 36
  8993. XML_RELAXNG_ERR_INTERNAL = 37
  8994. XML_RELAXNG_ERR_ELEMWRONG = 38
  8995. XML_RELAXNG_ERR_TEXTWRONG = 39
  8996.  
  8997. # xmlCatalogAllow
  8998. XML_CATA_ALLOW_NONE = 0
  8999. XML_CATA_ALLOW_GLOBAL = 1
  9000. XML_CATA_ALLOW_DOCUMENT = 2
  9001. XML_CATA_ALLOW_ALL = 3
  9002.  
  9003. # xmlAttributeType
  9004. XML_ATTRIBUTE_CDATA = 1
  9005. XML_ATTRIBUTE_ID = 2
  9006. XML_ATTRIBUTE_IDREF = 3
  9007. XML_ATTRIBUTE_IDREFS = 4
  9008. XML_ATTRIBUTE_ENTITY = 5
  9009. XML_ATTRIBUTE_ENTITIES = 6
  9010. XML_ATTRIBUTE_NMTOKEN = 7
  9011. XML_ATTRIBUTE_NMTOKENS = 8
  9012. XML_ATTRIBUTE_ENUMERATION = 9
  9013. XML_ATTRIBUTE_NOTATION = 10
  9014.  
  9015. # xmlSchematronValidOptions
  9016. XML_SCHEMATRON_OUT_QUIET = 1
  9017. XML_SCHEMATRON_OUT_TEXT = 2
  9018. XML_SCHEMATRON_OUT_XML = 4
  9019. XML_SCHEMATRON_OUT_ERROR = 8
  9020. XML_SCHEMATRON_OUT_FILE = 256
  9021. XML_SCHEMATRON_OUT_BUFFER = 512
  9022. XML_SCHEMATRON_OUT_IO = 1024
  9023.  
  9024. # xmlSchemaContentType
  9025. XML_SCHEMA_CONTENT_UNKNOWN = 0
  9026. XML_SCHEMA_CONTENT_EMPTY = 1
  9027. XML_SCHEMA_CONTENT_ELEMENTS = 2
  9028. XML_SCHEMA_CONTENT_MIXED = 3
  9029. XML_SCHEMA_CONTENT_SIMPLE = 4
  9030. XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS = 5
  9031. XML_SCHEMA_CONTENT_BASIC = 6
  9032. XML_SCHEMA_CONTENT_ANY = 7
  9033.  
  9034. # xmlSchemaTypeType
  9035. XML_SCHEMA_TYPE_BASIC = 1
  9036. XML_SCHEMA_TYPE_ANY = 2
  9037. XML_SCHEMA_TYPE_FACET = 3
  9038. XML_SCHEMA_TYPE_SIMPLE = 4
  9039. XML_SCHEMA_TYPE_COMPLEX = 5
  9040. XML_SCHEMA_TYPE_SEQUENCE = 6
  9041. XML_SCHEMA_TYPE_CHOICE = 7
  9042. XML_SCHEMA_TYPE_ALL = 8
  9043. XML_SCHEMA_TYPE_SIMPLE_CONTENT = 9
  9044. XML_SCHEMA_TYPE_COMPLEX_CONTENT = 10
  9045. XML_SCHEMA_TYPE_UR = 11
  9046. XML_SCHEMA_TYPE_RESTRICTION = 12
  9047. XML_SCHEMA_TYPE_EXTENSION = 13
  9048. XML_SCHEMA_TYPE_ELEMENT = 14
  9049. XML_SCHEMA_TYPE_ATTRIBUTE = 15
  9050. XML_SCHEMA_TYPE_ATTRIBUTEGROUP = 16
  9051. XML_SCHEMA_TYPE_GROUP = 17
  9052. XML_SCHEMA_TYPE_NOTATION = 18
  9053. XML_SCHEMA_TYPE_LIST = 19
  9054. XML_SCHEMA_TYPE_UNION = 20
  9055. XML_SCHEMA_TYPE_ANY_ATTRIBUTE = 21
  9056. XML_SCHEMA_TYPE_IDC_UNIQUE = 22
  9057. XML_SCHEMA_TYPE_IDC_KEY = 23
  9058. XML_SCHEMA_TYPE_IDC_KEYREF = 24
  9059. XML_SCHEMA_TYPE_PARTICLE = 25
  9060. XML_SCHEMA_TYPE_ATTRIBUTE_USE = 26
  9061. XML_SCHEMA_FACET_MININCLUSIVE = 1000
  9062. XML_SCHEMA_FACET_MINEXCLUSIVE = 1001
  9063. XML_SCHEMA_FACET_MAXINCLUSIVE = 1002
  9064. XML_SCHEMA_FACET_MAXEXCLUSIVE = 1003
  9065. XML_SCHEMA_FACET_TOTALDIGITS = 1004
  9066. XML_SCHEMA_FACET_FRACTIONDIGITS = 1005
  9067. XML_SCHEMA_FACET_PATTERN = 1006
  9068. XML_SCHEMA_FACET_ENUMERATION = 1007
  9069. XML_SCHEMA_FACET_WHITESPACE = 1008
  9070. XML_SCHEMA_FACET_LENGTH = 1009
  9071. XML_SCHEMA_FACET_MAXLENGTH = 1010
  9072. XML_SCHEMA_FACET_MINLENGTH = 1011
  9073. XML_SCHEMA_EXTRA_QNAMEREF = 2000
  9074. XML_SCHEMA_EXTRA_ATTR_USE_PROHIB = 2001
  9075.  
  9076. # xmlModuleOption
  9077. XML_MODULE_LAZY = 1
  9078. XML_MODULE_LOCAL = 2
  9079.  
  9080. # xmlParserMode
  9081. XML_PARSE_UNKNOWN = 0
  9082. XML_PARSE_DOM = 1
  9083. XML_PARSE_SAX = 2
  9084. XML_PARSE_PUSH_DOM = 3
  9085. XML_PARSE_PUSH_SAX = 4
  9086. XML_PARSE_READER = 5
  9087.  
  9088. # xmlC14NMode
  9089. XML_C14N_1_0 = 0
  9090. XML_C14N_EXCLUSIVE_1_0 = 1
  9091. XML_C14N_1_1 = 2
  9092.  
  9093. # xmlParserOption
  9094. XML_PARSE_RECOVER = 1
  9095. XML_PARSE_NOENT = 2
  9096. XML_PARSE_DTDLOAD = 4
  9097. XML_PARSE_DTDATTR = 8
  9098. XML_PARSE_DTDVALID = 16
  9099. XML_PARSE_NOERROR = 32
  9100. XML_PARSE_NOWARNING = 64
  9101. XML_PARSE_PEDANTIC = 128
  9102. XML_PARSE_NOBLANKS = 256
  9103. XML_PARSE_SAX1 = 512
  9104. XML_PARSE_XINCLUDE = 1024
  9105. XML_PARSE_NONET = 2048
  9106. XML_PARSE_NODICT = 4096
  9107. XML_PARSE_NSCLEAN = 8192
  9108. XML_PARSE_NOCDATA = 16384
  9109. XML_PARSE_NOXINCNODE = 32768
  9110. XML_PARSE_COMPACT = 65536
  9111. XML_PARSE_OLD10 = 131072
  9112. XML_PARSE_NOBASEFIX = 262144
  9113. XML_PARSE_HUGE = 524288
  9114. XML_PARSE_OLDSAX = 1048576
  9115.  
  9116. # xmlElementTypeVal
  9117. XML_ELEMENT_TYPE_UNDEFINED = 0
  9118. XML_ELEMENT_TYPE_EMPTY = 1
  9119. XML_ELEMENT_TYPE_ANY = 2
  9120. XML_ELEMENT_TYPE_MIXED = 3
  9121. XML_ELEMENT_TYPE_ELEMENT = 4
  9122.  
  9123. # xmlDocProperties
  9124. XML_DOC_WELLFORMED = 1
  9125. XML_DOC_NSVALID = 2
  9126. XML_DOC_OLD10 = 4
  9127. XML_DOC_DTDVALID = 8
  9128. XML_DOC_XINCLUDE = 16
  9129. XML_DOC_USERBUILT = 32
  9130. XML_DOC_INTERNAL = 64
  9131. XML_DOC_HTML = 128
  9132.  
  9133. # xlinkType
  9134. XLINK_TYPE_NONE = 0
  9135. XLINK_TYPE_SIMPLE = 1
  9136. XLINK_TYPE_EXTENDED = 2
  9137. XLINK_TYPE_EXTENDED_SET = 3
  9138.  
  9139. # xmlXPathObjectType
  9140. XPATH_UNDEFINED = 0
  9141. XPATH_NODESET = 1
  9142. XPATH_BOOLEAN = 2
  9143. XPATH_NUMBER = 3
  9144. XPATH_STRING = 4
  9145. XPATH_POINT = 5
  9146. XPATH_RANGE = 6
  9147. XPATH_LOCATIONSET = 7
  9148. XPATH_USERS = 8
  9149. XPATH_XSLT_TREE = 9
  9150.  
  9151. # xmlSchemaValidError
  9152. XML_SCHEMAS_ERR_OK = 0
  9153. XML_SCHEMAS_ERR_NOROOT = 1
  9154. XML_SCHEMAS_ERR_UNDECLAREDELEM = 2
  9155. XML_SCHEMAS_ERR_NOTTOPLEVEL = 3
  9156. XML_SCHEMAS_ERR_MISSING = 4
  9157. XML_SCHEMAS_ERR_WRONGELEM = 5
  9158. XML_SCHEMAS_ERR_NOTYPE = 6
  9159. XML_SCHEMAS_ERR_NOROLLBACK = 7
  9160. XML_SCHEMAS_ERR_ISABSTRACT = 8
  9161. XML_SCHEMAS_ERR_NOTEMPTY = 9
  9162. XML_SCHEMAS_ERR_ELEMCONT = 10
  9163. XML_SCHEMAS_ERR_HAVEDEFAULT = 11
  9164. XML_SCHEMAS_ERR_NOTNILLABLE = 12
  9165. XML_SCHEMAS_ERR_EXTRACONTENT = 13
  9166. XML_SCHEMAS_ERR_INVALIDATTR = 14
  9167. XML_SCHEMAS_ERR_INVALIDELEM = 15
  9168. XML_SCHEMAS_ERR_NOTDETERMINIST = 16
  9169. XML_SCHEMAS_ERR_CONSTRUCT = 17
  9170. XML_SCHEMAS_ERR_INTERNAL = 18
  9171. XML_SCHEMAS_ERR_NOTSIMPLE = 19
  9172. XML_SCHEMAS_ERR_ATTRUNKNOWN = 20
  9173. XML_SCHEMAS_ERR_ATTRINVALID = 21
  9174. XML_SCHEMAS_ERR_VALUE = 22
  9175. XML_SCHEMAS_ERR_FACET = 23
  9176. XML_SCHEMAS_ERR_ = 24
  9177. XML_SCHEMAS_ERR_XXX = 25
  9178.  
  9179.